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>
86 return find(i_profile_id, getActorBegin());
94 return mActorPtrCache.find(io_find_func, it_begin);
99 return mActorPtrCache.find(io_find_func);
104 return mActorPtrCache.getActorBegin();
109 return mActorPtrCache.getActorEnd();
114 return mActorPtrCache.getActorPtr(id);
117 template <
typename T>
120 return static_cast<T*>(mActorPtrCache.getActorPtr(id));
125 return mActorPtrCache.count(io_find_func);
130 return mActorPtrCache.forEach(callback, param);
166static_assert(
sizeof(
ActorMgr) == 0x6A44);
Base interface class for all actors in the game. Lifecycle is handled by ActorMgr.
Definition ActorBase.h:18
void forEach(ActorForEachCallback callback, ActorForEachParam param) const
Definition ActorMgr.h:128
sead::UnitHeap * mActorUnitHeap
Definition ActorMgr.h:149
bool mActorDrawDone
Definition ActorMgr.h:161
ActorBase * getActorPtr(ActorUniqueID id) const
Definition ActorMgr.h:112
ActorBase::List mDeleteManage
Definition ActorMgr.h:152
void doDeleteActors_(bool destroy)
void addToFinalUpdate(ActorBase *actor)
iterator find(ActorFindFunc *io_find_func, iterator it_begin) const
Definition ActorMgr.h:92
bool mActorCreateImmediately
Definition ActorMgr.h:159
void createLater(const ActorCreateParam ¶m)
ActorPtrCache::ActorForEachParam ActorForEachParam
Definition ActorMgr.h:33
ActorBase::List mExecuteManage
Definition ActorMgr.h:153
u32 count(ActorFindFunc *io_find_func) const
Definition ActorMgr.h:123
ActorUniqueID mActorCreateID
Definition ActorMgr.h:158
void doDelete_(ActorBase *actor)
static void delete_(ActorBase *actor)
iterator getActorEnd() const
Definition ActorMgr.h:107
void destroyAdditionalHeap(sead::Heap **heap)
sead::FixedPtrArray< sead::Heap, 520 > mActorDeleteHeap
Definition ActorMgr.h:155
ActorBase::List mCreateManage
Definition ActorMgr.h:151
void pushExecuteAndDrawList_(ActorBase *actor)
ActorBase * doConstructActor_(const ActorCreateParam ¶m, bool create_immediately)
sead::FixedRingBuffer< ActorCreateParam, 520 > mDeferredActorCreate
Definition ActorMgr.h:150
u8 _6a41[3]
Definition ActorMgr.h:162
void initialize(sead::Heap *heap)
T * getActorPtr(ActorUniqueID id) const
Definition ActorMgr.h:118
iterator find(s32 i_profile_id, iterator it_begin) const
sead::FixedPtrArray< ActorBase, 520 > mActorFinalUpdate
Definition ActorMgr.h:156
ActorBase::MainState doCreate_(ActorBase *actor)
sead::UnitHeap * mPlayerUnitHeap
Definition ActorMgr.h:148
ActorBase::List mDrawManage
Definition ActorMgr.h:154
void createAdditionalHeap(sead::Heap **heap)
ActorPtrCache mActorPtrCache
Definition ActorMgr.h:157
iterator getActorBegin() const
Definition ActorMgr.h:102
ActorPtrCache::ActorForEachCallback ActorForEachCallback
Definition ActorMgr.h:34
u8 _6a3d[3]
Definition ActorMgr.h:160
ActorBase * createImmediately(const ActorCreateParam ¶m, CreateOption option=cCreateOption_ActiveLater)
iterator find(ActorFindFunc *io_find_func) const
Definition ActorMgr.h:97
ActorPtrCache::iterator iterator
Definition ActorMgr.h:32
u32 count(s32 i_profile_id) const
void moveActorOnCreateListToDestoryList_()
bool deleteNotRequested_(ActorBase *actor)
iterator find(s32 i_profile_id) const
Definition ActorMgr.h:84