Перейти к содержимому
CRUSHFORMV1.1.0
ПОЛУЧИТЬ НА FAB

СПРАВОЧНИКПОДСИСТЕМЫ И БИБЛИОТЕКИ

UCFGlassShardSubsystem

МОДУЛЬCrushformЗАГОЛОВОКCFGlassShardSubsystem.hРОДИТЕЛЬUWorldSubsystem

Создаёт осколки разбитых стеклянных панелей: одна Niagara-система из пула на каждую разбитую панель. Система возвращается в пул, когда закончилась, когда её панель отремонтирована и в конце игры.

Никогда не создаёт осколков на выделенном сервере. Система осколков по умолчанию, UCFSettings::DefaultGlassShardSystem, загружается асинхронно, когда начинается игра, и никогда не загружается синхронно: пока её нет в памяти, GetDefaultSystem возвращает nullptr.

Функции

AUTHORITY · сервер, на каждом инстансеLOCAL · этот инстансPURE · только чтение
UCFGlassShardSubsystem* Get(const UObject* WorldContext)
C++ ONLY

Подсистема осколков мира WorldContext; nullptr, если её нет.

bool ShouldSpawnInNetMode(ENetMode NetMode)
C++ ONLY

Создаёт ли мир с NetMode осколки: все, кроме выделенного сервера.

UNiagaraSystem* GetDefaultSystem() const
PUREC++ ONLY

Система осколков по умолчанию, когда она в памяти; до этого nullptr. Никогда не загружает её.

UNiagaraComponent* SpawnShards(UNiagaraSystem& System, FCFGlassShardSpawn&& Spawn, const UObject& Owner, int32 OwnerKey, UObject* Callback)
C++ ONLY

Создаёт осколки Spawn как одну систему из пула, сделанную из System, для элемента OwnerKey объекта Owner, и возвращает её. Возвращает nullptr для пустого Spawn и когда предварительная проверка отсечения Niagara отвергает систему. Осколки сверх CFGlassShardSystem::GetMaxLiveShards() отбрасываются, а самые старые системы освобождаются, пока живые осколки превышают этот предел. Сверх CFGlassShardSystem::GetShardSystemsPerFrame() в кадре создание ждёт одного из следующих кадров, по порядку, и эта функция возвращает nullptr; тогда система стартует сдвинутой вдоль скорости каждого осколка на время, которое она ждала, но не больше чем на CFGlassShardSystem::MaxQueuedFlightSeconds.

void ReleaseOwnedShards(const UObject* Owner, int32 OwnerKey)
C++ ONLY

Сразу убирает живые и ожидающие осколки Owner; INDEX_NONE: все элементы Owner.

void ReleaseAllShards()
C++ ONLY

Сразу убирает все живые и ожидающие осколки.

int32 GetLiveShardCount() const
PUREC++ ONLY

Число осколков в живых системах.

int32 GetLiveSystemCount() const
PUREC++ ONLY

Число систем в пуле, включая закончившиеся, которые ещё не вернулись.