1#include "Game/MapObj/RotateMoveObj.hpp"
2#include "Game/MapObj/StageEffectDataTable.hpp"
3#include "Game/MapObj/MapPartsRotator.hpp"
8 MapObjActorUtil::setupInitInfoSimpleMapObj(&info);
10 info.setupBaseMtxFollowTarget();
11 info.setupNerve(&NrvMapObjActor::HostTypeWait::sInstance);
12 MapObjActorUtil::setupInitInfoColorChangeArg0(&info, rIter);
13 MapObjActorUtil::setupInitInfoTextureChangeArg1(&info, rIter);
14 MapObjActorUtil::setupInitInfoTypical(&info, mObjectName);
15 initialize(rIter, info);
19 MR::getMapPartsArgMoveConditionType(&condType, rIter);
21 if (!MR::isMoveStartTypeUnconditional(condType)) {
22 setNerve(&NrvRotateMoveObj::HostTypeWaitForPlayerOn::sInstance);
26 if (MR::isDemoCast(
this,
nullptr)) {
29 if (MR::tryRegisterDemoActionFunctor(
this, setStateFunc,
nullptr)) {
34 if (MR::isValidSwitchB(
this)) {
39 startMapPartsFunctions();
40 setNerve(&NrvRotateMoveObj::HostTypeMove::sInstance);
54void RotateMoveObj::setStateMove() {
55 if (MR::isRegisteredEffect(
this,
"Appear")) {
56 MR::emitEffect(
this,
"Appear");
59 startMapPartsFunctions();
60 setNerve(&NrvMapObjActor::HostTypeMove::sInstance);
63void RotateMoveObj::exeMove() {
64 if (MR::isFirstStep(
this)) {
65 MR::StageEffect::tryStageEffectStart(
this, mObjectName);
68 if (!MapObjActorUtil::isRotatorMoving(
this)) {
69 setNerve(&NrvRotateMoveObj::HostTypeStop::sInstance);
73 if (MR::isEqualString(mObjectName,
"OceanRingRuinsGearBig") || MR::isEqualString(mObjectName,
"OceanRingRuinsGearSmall")) {
74 if (mRotator->getRotateSpeed() != 0.0f) {
75 MR::StageEffect::tryStageEffectMoving(
this, mObjectName);
79 MR::StageEffect::tryStageEffectMoving(
this, mObjectName);
85void RotateMoveObj::exeStop() {
86 if (MapObjActorUtil::isRotatorMoving(
this)) {
87 setNerve(&NrvRotateMoveObj::HostTypeMove::sInstance);
89 else if (MR::isFirstStep(
this)) {
90 MR::StageEffect::tryStageEffectStop(
this, mObjectName);
94void RotateMoveObj::exeWaitForPlayerOn() {
95 if (MR::isOnPlayer(
this)) {
100namespace NrvRotateMoveObj {
101 INIT_NERVE(HostTypeWaitForPlayerOn);
102 INIT_NERVE(HostTypeWait);
103 INIT_NERVE(HostTypeMove);
104 INIT_NERVE(HostTypeStop);
107RotateMoveObj::~RotateMoveObj() {
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.