New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
ActorState.h
Go to the documentation of this file.
1#pragma once
2
3#include <actor/ActorCollision.h>
4#include <state/FStateMgr.h>
5#include <state/FStateStateMgr.h>
6
7class ActorState : public ActorCollision // vtbl Address: 0x10000EC8
8{
9 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9CDC
10 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101E9CE0
11 SEAD_RTTI_OVERRIDE(ActorState, ActorCollision)
12
13public:
14 // Address: 0x0200A9C0
17
19 {
20 mStateMgr.executeState();
21 }
22
23 void changeState(const StateID& state_id)
24 {
25 mStateMgr.changeState(state_id);
26 }
27
28 bool isState(const StateID& state_id) const
29 {
30 return *mStateMgr.getStateID() == state_id;
31 }
32
33 bool isOldState(const StateID& state_id) const
34 {
35 return *mStateMgr.getOldStateID() == state_id;
36 }
37
38 const StateID* getState() const
39 {
40 return mStateMgr.getStateID();
41 }
42
43protected:
45 //u32 _17c4[4 / sizeof(u32)]; // Alignment???
46};
47static_assert(sizeof(ActorState) == 0x17C8);
48
49class ActorMultiState : public ActorCollision // vtbl Address: 0x10001048
50{
51 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9CE4
52 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101E9CE8
53 SEAD_RTTI_OVERRIDE(ActorMultiState, ActorCollision)
54
55public:
56 // Address: 0x0200AA8C
59
61 {
62 mStateMgr.executeState();
63 }
64
65 virtual void changeState(const StateID& state_id)
66 {
67 mStateMgr.changeState(state_id);
68 }
69
70 bool isState(const StateID& state_id) const
71 {
72 return *mStateMgr.getStateID() == state_id;
73 }
74
75 bool isOldState(const StateID& state_id) const
76 {
77 return *mStateMgr.getOldStateID() == state_id;
78 }
79
80 bool isMainState(const StateID& state_id) const
81 {
82 return *mStateMgr.getMainStateID() == state_id;
83 }
84
85protected:
87};
88static_assert(sizeof(ActorMultiState) == 0x17C8);
Definition ActorState.h:50
~ActorMultiState() override
Definition ActorState.h:58
virtual void changeState(const StateID &state_id)
Definition ActorState.h:65
void executeState()
Definition ActorState.h:60
bool isState(const StateID &state_id) const
Definition ActorState.h:70
FStateStateMgr< ActorMultiState > mStateMgr
Definition ActorState.h:86
bool isMainState(const StateID &state_id) const
Definition ActorState.h:80
bool isOldState(const StateID &state_id) const
Definition ActorState.h:75
Definition ActorState.h:8
bool isState(const StateID &state_id) const
Definition ActorState.h:28
FStateMgr< ActorState > mStateMgr
Definition ActorState.h:44
~ActorState() override
Definition ActorState.h:16
const StateID * getState() const
Definition ActorState.h:38
void executeState()
Definition ActorState.h:18
void changeState(const StateID &state_id)
Definition ActorState.h:23
bool isOldState(const StateID &state_id) const
Definition ActorState.h:33