Files
UnrealEngine/Engine/Plugins/Experimental/SceneState/Source/SceneStateEvent/Private/SceneStateEventSubsystem.cpp
2025-05-18 13:04:45 +08:00

32 lines
805 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "SceneStateEventSubsystem.h"
#include "Engine/Engine.h"
#include "SceneStateEventStream.h"
USceneStateEventSubsystem* USceneStateEventSubsystem::Get()
{
return GEngine ? GEngine->GetEngineSubsystem<USceneStateEventSubsystem>() : nullptr;
}
void USceneStateEventSubsystem::RegisterEventStream(USceneStateEventStream* InEventStream)
{
EventStreams.AddUnique(InEventStream);
}
void USceneStateEventSubsystem::UnregisterEventStream(USceneStateEventStream* InEventStream)
{
EventStreams.Remove(InEventStream);
}
void USceneStateEventSubsystem::ForEachEventStream(TFunctionRef<void(USceneStateEventStream*)> InCallable)
{
for (USceneStateEventStream* EventStream : EventStreams)
{
if (EventStream)
{
InCallable(EventStream);
}
}
}