10#include "Engine/World.h"
11#include "Engine/GameViewportClient.h"
12#include "Engine/GameInstance.h"
18 Super::Initialize(Collection);
21 UE_LOG(LogTemp, Warning, TEXT(
"SensorManager Initialized."));
27 Super::Deinitialize();
33 UE_LOG(LogTemp, Warning, TEXT(
"SensorManager Destroyed."));
44 if (GEngine && GEngine->GameViewport)
46 if (UWorld* World = GEngine->GameViewport->GetWorld())
48 if (UGameInstance* GameInstance = World->GetGameInstance())
62 if (Manager && SensorPtr)
64 Manager->
Sensors.Add(SensorPtr);
72 if (Manager && SensorPtr)
74 Manager->
Sensors.Remove(SensorPtr);
86 TArray<ASensor*> SensorsOfType;
90 if (Sensor && Sensor->GetSensorType() == SensorType)
92 SensorsOfType.Add(Sensor);
static USensorManager * Get()
FSensorDestroyedDelegate OnSensorDestroyed
static void AddSensor(ASensor *SensorPtr)
TArray< ASensor * > Sensors
TArray< ASensor * > GetAllSensorsOfType(ESensorTypes SensorType) const
static USensorManager * SensorManagerPtr
TArray< ASensor * > GetAllSensors() const
FSensorSpawnedDelegate OnSensorSpawned
static void RemoveSensor(ASensor *SensorPtr)
virtual void Initialize(FSubsystemCollectionBase &Collection) override
virtual void Deinitialize() override