3#include <Core/CoreDLL.h>
5#include <Foundation/Communication/Event.h>
6#include <Foundation/Configuration/Singleton.h>
7#include <Foundation/Reflection/Reflection.h>
8#include <Foundation/Types/UniquePtr.h>
10struct plActorManagerImpl;
20 BeforeActorDestruction,
56 void DestroyActor(
plActor* pActor, DestructionMode mode = DestructionMode::Immediate);
62 void DestroyAllActors(
const void* pCreatedBy, DestructionMode mode = DestructionMode::Immediate);
69 void DestroyQueuedActors();
72 void DestroyApiService(
plActorApiService* pService, DestructionMode mode = DestructionMode::Immediate);
73 void DestroyAllApiServices(DestructionMode mode = DestructionMode::Immediate);
74 void DestroyQueuedActorApiServices();
78 template <
typename Type>
81 return static_cast<Type*
>(GetApiService(plGetStaticRTTI<Type>()));
85 void ActivateQueuedApiServices();
86 void UpdateAllApiServices();
87 void UpdateAllActors();
90 bool m_bForceQueueActorDestruction =
false;
Definition ActorApiService.h:8
Definition ActorManager.h:28
DestructionMode
Specifies whether something should be destroyed right now or delayed during the next Update()
Definition ActorManager.h:45
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
A Unique ptr manages an object and destroys that object when it goes out of scope....
Definition UniquePtr.h:10
Definition ActorManager.h:15
Type
Definition ActorManager.h:17
@ AfterActorActivation
Sent after plActor::Activate() has been called.