1#include "Game/Screen/SurfingGuidance.hpp"
2#include "Game/Util.hpp"
4SurfingGuidance::SurfingGuidance() :
LayoutActor(
"サーフィンガイダンス", true) {
11 MR::connectToSceneLayout(
this);
12 initLayoutManager(
"TiltGuidance", 3);
13 initNerve(&SurfingGuidanceFadeIn::sInstance);
18void SurfingGuidance::activate() {
22void SurfingGuidance::levelOffReady() {
23 if (!isNerve(&SurfingGuidanceLevelOffReady::sInstance)) {
24 setNerve(&SurfingGuidanceLevelOffReady::sInstance);
28void SurfingGuidance::levelOffHold() {
29 if (!isNerve(&SurfingGuidanceLevelOffHold::sInstance)) {
30 setNerve(&SurfingGuidanceLevelOffHold::sInstance);
34void SurfingGuidance::levelOffSuccess() {
35 if (!isNerve(&SurfingGuidanceLevelOffSuccess::sInstance)) {
36 setNerve(&SurfingGuidanceLevelOffSuccess::sInstance);
40void SurfingGuidance::turnLeftReady() {
41 if (!isNerve(&SurfingGuidanceTurnLeftReady::sInstance)) {
42 setNerve(&SurfingGuidanceTurnLeftReady::sInstance);
46void SurfingGuidance::turnLeftHold() {
47 if (!isNerve(&SurfingGuidanceTurnLeftHold::sInstance)) {
48 setNerve(&SurfingGuidanceTurnLeftHold::sInstance);
52void SurfingGuidance::turnLeftSuccess() {
53 if (!isNerve(&SurfingGuidanceTurnLeftSuccess::sInstance)) {
54 setNerve(&SurfingGuidanceTurnLeftSuccess::sInstance);
58void SurfingGuidance::turnRightReady() {
59 if (!isNerve(&SurfingGuidanceTurnRightReady::sInstance)) {
60 setNerve(&SurfingGuidanceTurnRightReady::sInstance);
64void SurfingGuidance::turnRightHold() {
65 if (!isNerve(&SurfingGuidanceTurnRightHold::sInstance)) {
66 setNerve(&SurfingGuidanceTurnRightHold::sInstance);
70void SurfingGuidance::turnRightSuccess() {
71 if (!isNerve(&SurfingGuidanceTurnRightSuccess::sInstance)) {
72 setNerve(&SurfingGuidanceTurnRightSuccess::sInstance);
76void SurfingGuidance::deactivate() {
77 if (!isNerve(&SurfingGuidanceFadeOut::sInstance)) {
78 setNerve(&SurfingGuidanceFadeOut::sInstance);
82void SurfingGuidance::exeFadeIn() {
83 if (MR::isFirstStep(
this)) {
84 MR::startAnim(
this,
"Appear", 0);
85 MR::startAnim(
this,
"Slope", 1);
86 MR::startSystemSE(
"SE_SY_CTRL_GUIDE_APPEAR", -1, -1);
90void SurfingGuidance::exeLevelOffReady() {
91 if (MR::isFirstStep(
this)) {
92 MR::startAnim(
this,
"Slope", 1);
95 if (MR::isFirstStep(
this)) {
96 if (MR::getAnimFrame(
this, 1) == 0.0f) {
97 MR::startSystemSE(
"SE_SY_CTRL_GUIDE_CHANGE2", 0x1F4, -1);
101 if (MR::getAnimFrame(
this, 1) == 85.0f) {
102 MR::startSystemSE(
"SE_SY_CTRL_GUIDE_CHANGE", 0x3E8, -1);
106void SurfingGuidance::exeTurnLeftReady() {
107 if (MR::isFirstStep(
this)) {
108 MR::startAnim(
this,
"TurnLeft", 1);
111 if (MR::isFirstStep(
this)) {
112 if (MR::getAnimFrame(
this, 1) == 0.0f) {
113 MR::startSystemSE(
"SE_SY_CTRL_GUIDE_CHANGE", 0x1F4, -1);
117 if (MR::getAnimFrame(
this, 1) == 35.0f) {
118 MR::startSystemSE(
"SE_SY_CTRL_GUIDE_CHANGE2", 0x3E8, -1);
122void SurfingGuidance::exeTurnRightReady() {
123 if (MR::isFirstStep(
this)) {
124 MR::startAnim(
this,
"TurnRight", 1);
127 if (MR::isFirstStep(
this)) {
128 if (MR::getAnimFrame(
this, 1) == 0.0f) {
129 MR::startSystemSE(
"SE_SY_CTRL_GUIDE_CHANGE", 0x1F4, -1);
133 if (MR::getAnimFrame(
this, 1) == 35.0f) {
134 MR::startSystemSE(
"SE_SY_CTRL_GUIDE_CHANGE2", 0x3E8, -1);
138void SurfingGuidance::exeFadeOut() {
139 if (MR::isFirstStep(
this)) {
140 MR::startAnim(
this,
"End", 0);
143 if (MR::isAnimStopped(
this, 0)) {
144 setNerve(&SurfingGuidanceFadeIn::sInstance);
149SurfingGuidance::~SurfingGuidance() {
154 INIT_NERVE(SurfingGuidanceFadeIn);
155 INIT_NERVE(SurfingGuidanceLevelOffReady);
156 INIT_NERVE(SurfingGuidanceLevelOffHold);
157 INIT_NERVE(SurfingGuidanceLevelOffSuccess);
158 INIT_NERVE(SurfingGuidanceTurnLeftReady);
159 INIT_NERVE(SurfingGuidanceTurnLeftHold);
160 INIT_NERVE(SurfingGuidanceTurnLeftSuccess);
161 INIT_NERVE(SurfingGuidanceTurnRightReady);
162 INIT_NERVE(SurfingGuidanceTurnRightHold);
163 INIT_NERVE(SurfingGuidanceTurnRightSuccess);
164 INIT_NERVE(SurfingGuidanceFadeOut);
166 void SurfingGuidanceFadeOut::execute(
Spine *pSpine)
const {
171 void SurfingGuidanceTurnRightSuccess::execute(
Spine *pSpine)
const {
174 if (MR::isFirstStep(guide)) {
175 MR::startAnim(guide,
"TurnRightOK", 1);
179 void SurfingGuidanceTurnRightHold::execute(
Spine *pSpine)
const {
182 if (MR::isFirstStep(guide)) {
183 MR::startAnim(guide,
"TurnRightHold", 1);
187 void SurfingGuidanceTurnRightReady::execute(
Spine *pSpine)
const {
189 guide->exeTurnRightReady();
192 void SurfingGuidanceTurnLeftSuccess::execute(
Spine *pSpine)
const {
195 if (MR::isFirstStep(guide)) {
196 MR::startAnim(guide,
"TurnLeftOK", 1);
200 void SurfingGuidanceTurnLeftHold::execute(
Spine *pSpine)
const {
203 if (MR::isFirstStep(guide)) {
204 MR::startAnim(guide,
"TurnLeftHold", 1);
208 void SurfingGuidanceTurnLeftReady::execute(
Spine *pSpine)
const {
210 guide->exeTurnLeftReady();
213 void SurfingGuidanceLevelOffSuccess::execute(
Spine *pSpine)
const {
216 if (MR::isFirstStep(guide)) {
217 MR::startAnim(guide,
"SlopeOK", 1);
221 void SurfingGuidanceLevelOffHold::execute(
Spine *pSpine)
const {
224 if (MR::isFirstStep(guide)) {
225 MR::startAnim(guide,
"SlopeHold", 1);
229 void SurfingGuidanceLevelOffReady::execute(
Spine *pSpine)
const {
231 guide->exeLevelOffReady();
234 void SurfingGuidanceFadeIn::execute(
Spine *pSpine)
const {
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.