1#include "Game/MapObj/MechaKoopaPartsHead.hpp"
3MechaKoopaPartsHead::MechaKoopaPartsHead(
const char *pName) :
MapObjActor(pName) {
10 initInfo.setupHioNode(
"地形オブジェ");
11 initInfo.setupDefaultPos();
12 initInfo.setupConnectToScene();
13 initInfo.setupEffect(
nullptr);
14 initInfo.setupSound(6);
15 initInfo.setupNerve(&NrvMechaKoopaPartsHead::MechaKoopaPartsHeadNrvWait::sInstance);
16 initialize(rIter, initInfo);
17 MR::declarePowerStar(
this);
18 MR::registerDemoActionNerve(
this, &NrvMechaKoopaPartsHead::MechaKoopaPartsHeadNrvDemoBreak::sInstance, sDemoPartNameBreak);
19 MR::registerDemoActionNerve(
this, &NrvMechaKoopaPartsHead::MechaKoopaPartsHeadNrvDemoWhiteFadeOut::sInstance, sDemoPartNameFadeOut);
20 MR::registerDemoActionNerve(
this, &NrvMechaKoopaPartsHead::MechaKoopaPartsHeadNrvDemoWhiteWait::sInstance, sDemoPartNameWhite);
21 MR::registerDemoActionNerve(
this, &NrvMechaKoopaPartsHead::MechaKoopaPartsHeadNrvDemoWhiteFadeIn::sInstance, sDemoPartNameFadeIn);
23 if (MR::isValidSwitchA(
this)) {
28void MechaKoopaPartsHead::exeDemoBreak() {
29 if (MR::isFirstStep(
this)) {
30 MR::startSound(
this,
"SE_BM_MECHA_KOOPA_DOWN", -1, -1);
31 MR::moveVolumeStageBGM(0.0f, 0x1E);
32 MR::shakeCameraInfinity(
this, 0.2f, 2.0f);
35 MR::tryRumblePadMiddle(
this, 0);
36 MR::startLevelSound(
this,
"SE_BM_LV_MECHA_KOOPA_PRE_BREAK", -1, -1, -1);
38 if (MR::isStep(
this, 120)) {
39 MR::emitEffect(
this,
"Explosion1");
40 MR::emitEffect(
this,
"Explosion2");
41 MR::emitEffect(
this,
"ExplosionEye1");
42 MR::emitEffect(
this,
"ExplosionEye2");
43 MR::startSound(
this,
"SE_OJ_M_KOOPA_EYE_BREAK", -1, -1);
46 if (MR::isStep(
this, 300)) {
47 MR::emitEffect(
this,
"Explosion");
48 MR::startSound(
this,
"SE_BM_MECHA_KOOPA_BREAK_FIRE_ST", -1, -1);
51 if (MR::isGreaterStep(
this, 300)) {
52 MR::startLevelSound(
this,
"SE_BM_LV_MECHA_KOOPA_BREAK_FIRE", -1, -1, -1);
56void MechaKoopaPartsHead::exeDemoWhiteFadeOut() {
57 if (MR::isFirstStep(
this)) {
58 MR::stopShakingCamera(
this);
59 MR::tryRumblePadStrong(
this, 0);
60 MR::shakeCameraStrong();
61 MR::startSound(
this,
"SE_BM_MECHA_KOOPA_EXPLODE", -1, -1);
62 MR::closeWipeWhiteFade(60);
66void MechaKoopaPartsHead::exeDemoWhiteWait() {
67 if (MR::isFirstStep(
this)) {
70 if (MR::isValidSwitchA(
this)) {
74 MR::setPlayerPos(
"爆破デモ後マリオ");
75 MR::setPlayerStateWait();
79void MechaKoopaPartsHead::exeDemoWhiteFadeIn() {
80 if (MR::isFirstStep(
this)) {
81 MR::openWipeWhiteFade(60);
84 if (MR::isDemoPartLastStep(sDemoPartNameFadeIn)) {
85 setNerve(&NrvMechaKoopaPartsHead::MechaKoopaPartsHeadNrvDemoAppearStar::sInstance);
89void MechaKoopaPartsHead::exeDemoAppearStar() {
90 if (MR::isFirstStep(
this)) {
91 MR::startAfterBossBGM();
92 MR::requestAppearPowerStar(
this);
95 if (MR::isEndPowerStarAppearDemo(
this)) {
100MechaKoopaPartsHead::~MechaKoopaPartsHead() {
104namespace NrvMechaKoopaPartsHead {
105 INIT_NERVE(MechaKoopaPartsHeadNrvWait);
106 INIT_NERVE(MechaKoopaPartsHeadNrvDemoBreak);
107 INIT_NERVE(MechaKoopaPartsHeadNrvDemoWhiteFadeOut);
108 INIT_NERVE(MechaKoopaPartsHeadNrvDemoWhiteWait);
109 INIT_NERVE(MechaKoopaPartsHeadNrvDemoWhiteFadeIn);
110 INIT_NERVE(MechaKoopaPartsHeadNrvDemoAppearStar);
112 void MechaKoopaPartsHeadNrvDemoAppearStar::execute(
Spine *pSpine)
const {
114 head->exeDemoAppearStar();
117 void MechaKoopaPartsHeadNrvDemoWhiteFadeIn::execute(
Spine *pSpine)
const {
119 head->exeDemoWhiteFadeIn();
122 void MechaKoopaPartsHeadNrvDemoWhiteWait::execute(
Spine *pSpine)
const {
124 head->exeDemoWhiteWait();
127 void MechaKoopaPartsHeadNrvDemoWhiteFadeOut::execute(
Spine *pSpine)
const {
129 head->exeDemoWhiteFadeOut();
132 void MechaKoopaPartsHeadNrvDemoBreak::execute(
Spine *pSpine)
const {
134 head->exeDemoBreak();
137 void MechaKoopaPartsHeadNrvWait::execute(
Spine *pSpine)
const {
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.