diff options
| author | Léo Lam <leo@leolam.fr> | 2020-06-05 17:09:06 +0200 |
|---|---|---|
| committer | Léo Lam <leo@leolam.fr> | 2020-08-18 22:50:25 +0200 |
| commit | 2de366be0fa75e571c605e017b5604bccbdb75bf (patch) | |
| tree | b8044fc96bba792b1875067032da2fd4498a44a3 /src/KingSystem/ActorSystem/actActorCreator.h | |
Initial commit
Diffstat (limited to 'src/KingSystem/ActorSystem/actActorCreator.h')
| -rw-r--r-- | src/KingSystem/ActorSystem/actActorCreator.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/KingSystem/ActorSystem/actActorCreator.h b/src/KingSystem/ActorSystem/actActorCreator.h new file mode 100644 index 00000000..65a3494b --- /dev/null +++ b/src/KingSystem/ActorSystem/actActorCreator.h @@ -0,0 +1,38 @@ +#pragma once + +#include <container/seadOffsetList.h> +#include <heap/seadDisposer.h> +#include <prim/seadDelegate.h> +#include <thread/seadCriticalSection.h> + +namespace ksys::act { + +class Actor; +struct ActorCreateArg; +class ActorFactory; + +class ActorCreator { + SEAD_SINGLETON_DISPOSER(ActorCreator) + ActorCreator(); + virtual ~ActorCreator(); + +public: + void setActorFactory(ActorFactory* factory) { mActorFactory = factory; } + +private: + sead::Heap* forBaseProcDualHeap; + sead::Heap* placementMgrHeap; + sead::OffsetList<Actor> mActorList; + void* _50; + bool mEnableDistanceChecks; + bool _59; + bool _5a; + void* _60; + sead::Delegate1<ActorCreator, ActorCreateArg&> mCreateActorDelegate; + // FIXME: argument type + sead::Delegate1<ActorCreator, void*> mCleanUpDelegate; + sead::CriticalSection mActorListCS; + ActorFactory* mActorFactory; +}; + +} // namespace ksys::act |
