1#include "Game/MapObj/TimeAppearObj.hpp"
2#include "Game/Util.hpp"
4TimeAppearObj::TimeAppearObj(
const char *pName) :
MapObjActor(pName), mTimer(0x1E) {
10 info.setupModelName(
"KoopaBattleMapStairTurn");
12 info.setupNerve(&NrvTimeAppearObj::TimeAppearObjNrvHide::sInstance);
13 MapObjActorUtil::setupInitInfoSimpleMapObj(&info);
14 initialize(rIter, info);
15 MR::getJMapInfoArg0NoInit(rIter, &mTimer);
19void TimeAppearObj::exeEnd() {
20 if (MR::isFirstStep(
this)) {
21 if (MR::isRegisteredEffect(
this,
"Appear")) {
22 MR::emitEffect(
this,
"Appear");
25 if (MR::isEqualString(mObjectName,
"KoopaBattleMapStairTurn")) {
26 MR::startSound(
this,
"SE_OJ_KP_BTL_ST_TURN_APPEAR", -1, -1);
30 MR::validateCollisionParts(
this);
34void TimeAppearObj::appear() {
35 MapObjActor::appear();
37 MR::invalidateCollisionParts(
this);
38 setNerve(&NrvTimeAppearObj::TimeAppearObjNrvHide::sInstance);
41TimeAppearObj::~TimeAppearObj() {
45namespace NrvTimeAppearObj {
46 INIT_NERVE(TimeAppearObjNrvHide);
47 INIT_NERVE(TimeAppearObjNrvEnd);
49 void TimeAppearObjNrvEnd::execute(
Spine *pSpine)
const {
54 void TimeAppearObjNrvHide::execute(
Spine *pSpine)
const {
56 if (MR::isStep(obj, obj->mTimer)) {
57 obj->setNerve(&NrvTimeAppearObj::TimeAppearObjNrvEnd::sInstance);
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.