1#include "Game/MapObj/LargeChain.hpp"
4 static f32 sPartsLength = 200.0f;
7LargeChain::LargeChain(
const char *pName) :
LiveActor(pName) {
10 mChainArray =
nullptr;
15 MR::initDefaultPos(
this, rIter);
17 MR::getJMapInfoArg0NoInit(rIter, &chainLen);
20 MR::connectToSceneMapObjMovement(
this);
22 if (MR::tryRegisterDemoCast(
this, rIter)) {
23 MR::registerDemoActionNerve(
this, &NrvLargeChain::LargeChainNrvBreak::sInstance,
nullptr);
26 MR::useStageSwitchSleep(
this, rIter);
27 initNerve(&NrvLargeChain::LargeChainNrvWait::sInstance);
31void LargeChain::makeActorAppeared() {
36 _8C->makeActorAppeared();
37 _90->makeActorAppeared();
38 LiveActor::makeActorAppeared();
41void LargeChain::makeActorDead() {
48 LiveActor::makeActorDead();
51void LargeChain::exeBreak() {
52 if (MR::isFirstStep(
this)) {
53 MR::invalidateClipping(
this);
54 invalidateClippingAllChainParts();
57 if (!(getNerveStep() % 5)) {
58 s32 step = getNerveStep() / 5;
61 _8C->breakChainParts();
65 _90->breakChainParts();
76LargeChainParts::~LargeChainParts() {
80void LargeChain::invalidateClippingAllChainParts() {
86LargeChain::~LargeChain() {
90namespace NrvLargeChain {
91 INIT_NERVE(LargeChainNrvWait);
92 INIT_NERVE(LargeChainNrvBreak);
s32 mChainCount
The number of chain parts.
LargeChainParts * mChainArray
The array of LargeChainParts.
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
The basis of a drawable actor that can contain states (see: Nerve)