3#include <actor/ActorBase.h>
4#include <actor/ActorPtrCache.h>
6#include <container/seadOffsetList.h>
7#include <container/seadPtrArray.h>
8#include <container/seadRingBuffer.h>
9#include <heap/seadDisposer.h>
10#include <heap/seadUnitHeap.h>
11#include <heap/seadFrameHeap.h>
87 return find(i_profile_id, getActorBegin());
95 return mActorPtrCache.find(io_find_func, it_begin);
100 return mActorPtrCache.find(io_find_func);
105 return mActorPtrCache.getActorBegin();
110 return mActorPtrCache.getActorEnd();
115 return mActorPtrCache.getActorPtr(id);
118 template <
typename T>
121 return static_cast<T*>(mActorPtrCache.getActorPtr(id));
126 return mActorPtrCache.count(io_find_func);
131 return mActorPtrCache.forEach(callback, param);
168static_assert(
sizeof(
ActorMgr) == 0x6A44,
"ActorMgr size mismatch");
Base interface class for all actors in the game. Lifecycle is handled by ActorMgr.
Definition ActorBase.h:19
void forEach(ActorForEachCallback callback, ActorForEachParam param) const
Definition ActorMgr.h:129
bool isValidExec_(const ActorBase &actor)
sead::UnitHeap * mActorUnitHeap
Definition ActorMgr.h:151
bool mActorDrawDone
Definition ActorMgr.h:163
iterator find(ActorFindFunc &io_find_func) const
Definition ActorMgr.h:98
T * getActorPtr(UniqueID id) const
Definition ActorMgr.h:119
ActorBase::List mDeleteManage
Definition ActorMgr.h:154
ActorBase * createImmediately(const ActorCreateParameter ¶m, ImmediatelyType option=cImmediatelyType_ActiveLater)
void insertToExecuteAndDrawList_(ActorBase *actor)
ActorBase * getActorPtr(UniqueID id) const
Definition ActorMgr.h:113
void destroyAdditionalHeap(sead::FrameHeap **heap)
bool mActorCreateImmediately
Definition ActorMgr.h:161
iterator find(ActorFindFunc &io_find_func, iterator it_begin) const
Definition ActorMgr.h:93
void procDestroy_(bool destroy)
ActorPtrCache::ActorForEachParam ActorForEachParam
Definition ActorMgr.h:34
ActorBase::List mExecuteManage
Definition ActorMgr.h:155
static void delete_(ActorBase *actor)
void moveCreateToDestroyList_()
iterator getActorEnd() const
Definition ActorMgr.h:108
sead::FixedPtrArray< sead::Heap, 520 > mActorDeleteHeap
Definition ActorMgr.h:157
ActorBase::List mCreateManage
Definition ActorMgr.h:153
void prepare(sead::Heap *heap)
void entryLastExecute(ActorBase *actor)
u8 _6a41[3]
Definition ActorMgr.h:164
UniqueID mActorCreateID
Definition ActorMgr.h:160
iterator find(s32 i_profile_id, iterator it_begin) const
void createLater(const ActorCreateParameter ¶m)
sead::FixedPtrArray< ActorBase, 520 > mActorFinalUpdate
Definition ActorMgr.h:158
sead::UnitHeap * mPlayerUnitHeap
Definition ActorMgr.h:150
sead::FixedRingBuffer< ActorCreateParameter, 520 > mDeferredActorCreate
Definition ActorMgr.h:152
void moveActorToDestroyList_(ActorBase *actor)
ActorBase::List mDrawManage
Definition ActorMgr.h:156
void createAdditionalHeap(sead::FrameHeap **heap)
ActorPtrCache mActorPtrCache
Definition ActorMgr.h:159
iterator getActorBegin() const
Definition ActorMgr.h:103
ActorPtrCache::ActorForEachCallback ActorForEachCallback
Definition ActorMgr.h:35
u8 _6a3d[3]
Definition ActorMgr.h:162
ActorPtrCache::iterator iterator
Definition ActorMgr.h:33
ActorBase * constructActor_(const ActorCreateParameter ¶m, bool create_immediately)
ActorBase::MainState createActor_(ActorBase *actor)
u32 count(s32 i_profile_id) const
u32 count(ActorFindFunc &io_find_func) const
Definition ActorMgr.h:124
iterator find(s32 i_profile_id) const
Definition ActorMgr.h:85