3#include <basis/seadAssert.h>
4#include <basis/seadTypes.h>
6#include <container/seadBuffer.h>
34 SEAD_ASSERT(mActorPtrArray.isBufferReady());
35 return mActorPtrArray.unsafeGet(0);
63 return mEmptyHeadIndex;
68 return mNextCreateIndex;
78static_assert(
sizeof(
ActorPtrCache) == 0x18,
"ActorPtrCache size mismatch");
Base interface class for all actors in the game. Lifecycle is handled by ActorMgr.
Definition ActorBase.h:19
Definition ActorFindFunc.h:11
Definition ActorPtrCache.h:13
bool mCreateIndexOverflow
Definition ActorPtrCache.h:76
u32 getEmptyHeadIndex() const
Definition ActorPtrCache.h:61
iterator find(ActorFindFunc &io_find_func) const
Definition ActorPtrCache.h:27
ActorPtrCache(sead::Heap *heap, s32 i_max_actor_num)
ActorBase *const * iterator
Definition ActorPtrCache.h:15
void forEachPtr(ActorForEachCallback callback, ActorForEachParam param) const
u32 mNextCreateIndex
Definition ActorPtrCache.h:75
ActorBase * getActorPtr(UniqueID id) const
iterator getActorBegin() const
Definition ActorPtrCache.h:32
u32 getNextCreateIndex() const
Definition ActorPtrCache.h:66
void(* ActorForEachCallback)(ActorBase *, ActorForEachParam)
Definition ActorPtrCache.h:17
u32 ActorForEachParam
Definition ActorPtrCache.h:16
void pushActor(ActorBase *io_actor)
u32 mEmptyHeadIndex
Definition ActorPtrCache.h:73
sead::Buffer< ActorBase * > mActorPtrArray
Definition ActorPtrCache.h:72
void popActor(const ActorBase *i_actor)
iterator find(ActorFindFunc &io_find_func, iterator it_begin) const
iterator mLiveActorEnd
Definition ActorPtrCache.h:74
ActorBase * getActorPtrIncludingAboutToBeErased(UniqueID id) const
iterator getActorEnd() const
Definition ActorPtrCache.h:38
void forEach(ActorForEachCallback callback, ActorForEachParam param) const
u32 count(ActorFindFunc &io_find_func) const
Safe identifier handle used as an alternative to raw actor pointers.
Definition UniqueID.h:13