New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
ActorPtrCache.h
Go to the documentation of this file.
1#pragma once
2
3#include <basis/seadAssert.h>
4#include <basis/seadTypes.h>
5
6#include <container/seadBuffer.h>
7
8class ActorBase;
9class ActorFindFunc;
10class ActorUniqueID;
11
13{
14public:
15 typedef ActorBase* const* iterator;
18
19public:
20 // Address: 0x0200A14C
21 ActorPtrCache(sead::Heap* heap, s32 i_max_actor_num);
22 // Address: 0x0200A278
24
25 // Address: 0x0200A300
26 iterator find(ActorFindFunc* io_find_func, iterator it_begin) const;
27 iterator find(ActorFindFunc* io_find_func) const
28 {
29 return find(io_find_func, getActorBegin());
30 }
31
33 {
34 SEAD_ASSERT(mActorPtrArray.isBufferReady());
35 return mActorPtrArray.unsafeGet(0);
36 }
37
39 {
40 return mLiveActorEnd;
41 }
42
43 // Address: 0x0200A3A8
44 void pushActor(ActorBase* io_actor);
45 // Address: 0x0200A550
46 void popActor(const ActorBase* i_actor);
47 // Address: 0x0200A5C8
49 // Address: Deleted
51
52 // Address: 0x0200A608
53 u32 count(ActorFindFunc* io_find_func) const;
54
55 // Address: 0x0200A6AC
56 void forEach(ActorForEachCallback callback, ActorForEachParam param) const;
57
59 {
60 return mEmptyHeadIndex;
61 }
62
64 {
65 return mNextCreateIndex;
66 }
67
68private:
74};
75static_assert(sizeof(ActorPtrCache) == 0x18);
Base interface class for all actors in the game. Lifecycle is handled by ActorMgr.
Definition ActorBase.h:18
Definition ActorFindFunc.h:9
Definition ActorPtrCache.h:13
bool mCreateIndexOverflow
Definition ActorPtrCache.h:73
u32 getEmptyHeadIndex() const
Definition ActorPtrCache.h:58
ActorPtrCache(sead::Heap *heap, s32 i_max_actor_num)
ActorBase * getActorPtr(ActorUniqueID id) const
iterator find(ActorFindFunc *io_find_func, iterator it_begin) const
ActorBase *const * iterator
Definition ActorPtrCache.h:15
u32 mNextCreateIndex
Definition ActorPtrCache.h:72
iterator getActorBegin() const
Definition ActorPtrCache.h:32
u32 getNextCreateIndex() const
Definition ActorPtrCache.h:63
iterator find(ActorFindFunc *io_find_func) const
Definition ActorPtrCache.h:27
void(* ActorForEachCallback)(ActorBase *, ActorForEachParam)
Definition ActorPtrCache.h:17
u32 ActorForEachParam
Definition ActorPtrCache.h:16
void pushActor(ActorBase *io_actor)
u32 mEmptyHeadIndex
Definition ActorPtrCache.h:70
sead::Buffer< ActorBase * > mActorPtrArray
Definition ActorPtrCache.h:69
void popActor(const ActorBase *i_actor)
iterator mLiveActorEnd
Definition ActorPtrCache.h:71
iterator getActorEnd() const
Definition ActorPtrCache.h:38
void forEach(ActorForEachCallback callback, ActorForEachParam param) const
ActorBase * getActorPtrIncludingAboutToBeErased(ActorUniqueID id) const
u32 count(ActorFindFunc *io_find_func) const
Safe identifier handle used as an alternative to raw actor pointers.
Definition ActorUniqueID.h:13