#pragma once #include #include #include #include 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 mActorList; void* _50; bool mEnableDistanceChecks; bool _59; bool _5a; void* _60; sead::Delegate1 mCreateActorDelegate; // FIXME: argument type sead::Delegate1 mCleanUpDelegate; sead::CriticalSection mActorListCS; ActorFactory* mActorFactory; }; } // namespace ksys::act