New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
StateMethod.h
Go to the documentation of this file.
1#pragma once
2
3#include <state/IState.h>
4#include <state/IStateFactory.h>
5#include <state/StateID.h>
6
8{
9public:
10 // Address: 0x029C4A08
11 StateMethod(IStateFactory& factory, const StateID& state_id);
12
13 // Address: 0x029C4A80
15
16 // Address: 0x029C4AF0
17 void changeStateMethod(const StateID& state_id);
18
19 IState* getState() const { return mState; }
20 const StateID* getNewStateID() const { return mNewStateID; }
21 // Address: 0x029C4B88
22 const StateID* getStateID() const;
23 const StateID* getOldStateID() const { return mOldStateID; }
24
25protected:
30
31protected:
36};
37static_assert(sizeof(StateMethod) == 0x10);
38
40{
41 if (mNewStateID != nullptr)
42 {
43 mState = mFactory.buildWithInitialize(*mNewStateID);
44 mNewStateID = nullptr;
45 }
46}
47
49{
51
52 if (mState != nullptr)
53 mState->execute();
54}
55
57{
58 if (mState != nullptr && mNewStateID != nullptr)
59 {
60 mOldStateID = mState->getStateID();
61 mFactory.disposeWithFinalize(mState);
62 }
63}
64
Definition StateMethod.h:8
void changeStateMethod(const StateID &state_id)
IState * mState
Definition StateMethod.h:34
IState * getState() const
Definition StateMethod.h:19
void changeStateLocalMethod_()
Definition StateMethod.h:65
const StateID * getStateID() const
void initializeStateLocalMethod_()
Definition StateMethod.h:39
StateMethod(IStateFactory &factory, const StateID &state_id)
const StateID * mOldStateID
Definition StateMethod.h:35
const StateID * getOldStateID() const
Definition StateMethod.h:23
void finalizeStateLocalMethod_()
Definition StateMethod.h:56
IStateFactory & mFactory
Definition StateMethod.h:32
void executeStateMethod()
void executeStateLocalMethod_()
Definition StateMethod.h:48
const StateID * getNewStateID() const
Definition StateMethod.h:20
const StateID * mNewStateID
Definition StateMethod.h:33