Unreal engine 5
April 30
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) { // Обработка сигнала... } };