New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
StateStateMethod.h
Go to the documentation of this file.
1#pragma once
2
3#include <state/StateIDHolder.h>
4#include <state/StateMethod.h>
5
7{
8public:
9 StateStateMethod(IStateFactory& factory, const StateID& state_id)
11 {
12 }
13
14 // Address: 0x029C4BC4
15 void changeToSubStateMethod(const StateID& state_id);
16
17 bool isSubStateMethod() const
18 {
19 return mMain.isSet();
20 }
21
23 {
24 mOldStateID = mState->getStateID();
25 mFactory.disposeWithFinalize(mState);
26 const StateID& main_state_id = *(mMain.get());
27 mMain.reset();
28 mState = mFactory.build(main_state_id);
29 }
30
31 void replaceStateMethod(const StateID& state_id)
32 {
33 mFactory.disposeWithFinalize(mState);
34 mState = mFactory.buildWithInitialize(state_id);
35 }
36
37 const StateID* getMainStateID() const
38 {
39 const StateID* state_id = mMain.get();
40 if (state_id == nullptr)
41 state_id = getStateID();
42 return state_id;
43 }
44
45protected:
47};
48static_assert(sizeof(StateStateMethod) == 0x14);
Definition StateStateMethod.h:7
StateIDHolder mMain
Definition StateStateMethod.h:46
void changeToSubStateMethod(const StateID &state_id)
bool isSubStateMethod() const
Definition StateStateMethod.h:17
const StateID * getMainStateID() const
Definition StateStateMethod.h:37
void returnStateMethod()
Definition StateStateMethod.h:22
StateStateMethod(IStateFactory &factory, const StateID &state_id)
Definition StateStateMethod.h:9
void replaceStateMethod(const StateID &state_id)
Definition StateStateMethod.h:31