Unreal engine 5
April 30, 2024
Unreal Engine MassSignalSubsystem
Обработка сигналов в Unreal Engine 5 MassSignalSubsystem.
#include "MassSignalSubsystem.h"
void SomeFunction()
{
// Получение подсистемы сигналов
UMassSignalSubsystem* SignalSubsystem = GEngine->GetEngineSubsystem<UMassSignalSubsystem>();
// Создание имени сигнала
FName SignalName = FName(TEXT("MySignal"));
// Создание массива сущностей
TArray<FMassEntityHandle> Entities;
// Заполнение массива сущностей...
// Отправка сигнала сущностям
SignalSubsystem->SignalEntities(SignalName, Entities);
}#include "MassSignalSubsystem.h"
#include "MassStateTreeTaskBase.h"
class FMyStateTreeTask : public FMassStateTreeTaskBase
{
public:
FMyStateTreeTask()
{
// Получение подсистемы сигналов
UMassSignalSubsystem* SignalSubsystem = GEngine->GetEngineSubsystem<UMassSignalSubsystem>();
if (SignalSubsystem)
{
// Подписка на сигнал
FDelegateHandle SignalHandle = SignalSubsystem->GetSignalDelegateByName(FName("MySignal")).AddRaw(this, &FMyStateTreeTask::OnMySignalReceived);
}
}
// Функция обратного вызова для обработки сигнала
void OnMySignalReceived(const FMassEntityHandle& Entity)
{
// Обработка сигнала...
}
};