SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
ReverseGravityRoomPlanet.cpp
1#include "Game/MapObj/ReverseGravityRoomPlanet.hpp"
2
3ReverseGravityRoomPlanet::ReverseGravityRoomPlanet(const char *pName) : MapObjActor(pName) {
4
5}
6
10 info.setupHioNode("惑星");
11 info.setupDefaultPos();
12 info.setupConnectToScene();
13 info.setupEffect(0);
14 info.setupFarClipping(-1.0f);
15 info.setupNerve(&NrvReverseGravityRoomPlanet::ReverseGravityRoomPlanetNrvDownWait::sInstance);
16 initialize(rIter, info);
17}
18
19void ReverseGravityRoomPlanet::exeDownStart() {
20 if (MR::isFirstStep(this)) {
21 MR::startBck(this, "ChangeRed", 0);
22 }
23
24 if (MR::isBckStopped(this)) {
25 setNerve(&NrvReverseGravityRoomPlanet::ReverseGravityRoomPlanetNrvDownWait::sInstance);
26 }
27}
28
29void ReverseGravityRoomPlanet::exeUpStart() {
30 if (MR::isFirstStep(this)) {
31 MR::startBck(this, "ChangeBlue", 0);
32 }
33
34 if (MR::isBckStopped(this)) {
35 setNerve(&NrvReverseGravityRoomPlanet::ReverseGravityRoomPlanetNrvUpWait::sInstance);
36 }
37}
38
39void ReverseGravityRoomPlanet::initCaseUseSwitchA(const MapObjActorInitInfo &rIter) {
40 void (ReverseGravityRoomPlanet::*startOff)(void) = &ReverseGravityRoomPlanet::startSwitchOff;
41 void (ReverseGravityRoomPlanet::*startOn)(void) = &ReverseGravityRoomPlanet::startSwitchOn;
42 MR::listenStageSwitchOnOffA(this, MR::Functor(this, startOff), MR::Functor(this, startOn));
43}
44
45void ReverseGravityRoomPlanet::startSwitchOn() {
46 setNerve(&NrvReverseGravityRoomPlanet::ReverseGravityRoomPlanetNrvUpStart::sInstance);
47}
48
49void ReverseGravityRoomPlanet::startSwitchOff() {
50 setNerve(&NrvReverseGravityRoomPlanet::ReverseGravityRoomPlanetNrvDownStart::sInstance);
51}
52
53namespace NrvReverseGravityRoomPlanet {
54 INIT_NERVE(ReverseGravityRoomPlanetNrvDownStart);
55 INIT_NERVE(ReverseGravityRoomPlanetNrvDownWait);
56 INIT_NERVE(ReverseGravityRoomPlanetNrvUpStart);
57 INIT_NERVE(ReverseGravityRoomPlanetNrvUpWait);
58
59 void ReverseGravityRoomPlanetNrvUpWait::execute(Spine *pSpine) const {
60
61 }
62
63 void ReverseGravityRoomPlanetNrvUpStart::execute(Spine *pSpine) const {
64 ReverseGravityRoomPlanet* planet = reinterpret_cast<ReverseGravityRoomPlanet*>(pSpine->mExecutor);
65 planet->exeUpStart();
66 }
67
68 void ReverseGravityRoomPlanetNrvDownWait::execute(Spine *pSpine) const {
69
70 }
71
72 void ReverseGravityRoomPlanetNrvDownStart::execute(Spine *pSpine) const {
73 ReverseGravityRoomPlanet* planet = reinterpret_cast<ReverseGravityRoomPlanet*>(pSpine->mExecutor);
74 planet->exeDownStart();
75 }
76};
77
78ReverseGravityRoomPlanet::~ReverseGravityRoomPlanet() {
79
80}
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
Definition Spine.hpp:9