1#include "Game/Boss/SkeletalFishBossRail.hpp"
2#include "Game/Boss/SkeletalFishBossFunc.hpp"
3#include "Game/Boss/SkeletalFishBossRailHolder.hpp"
5SkeletalFishBossRail::SkeletalFishBossRail(
const char *pName) :
LiveActor(pName) {
7 mFillUpFlags =
nullptr;
13 MR::createSkeletalFishBossRailHolder();
15 MR::getJMapInfoArg0WithInit(rIter, &_8C);
16 MR::getSkeletalFishBossRailHolder()->add(
this);
18 createFillUpNamePosID();
22void SkeletalFishBossRail::initAfterPlacement() {
23 linkFillUpNamePosID();
26bool SkeletalFishBossRail::isFillUpPoint(s32 idx)
const {
27 return mFillUpFlags[idx];
30s32 SkeletalFishBossRail::getFillUpNamePos(s32 idx)
const {
31 return mNamePosIDs[idx];
34void SkeletalFishBossRail::createFillUpFlag() {
35 mFillUpFlags =
new bool[MR::getRailPointNum(
this)];
37 for (u32 i = 0; i < MR::getRailPointNum(
this); i++) {
39 MR::getRailPointArg0WithInit(
this, i, &pointArg);
42 mFillUpFlags[i] =
false;
45 mFillUpFlags[i] =
true;
50void SkeletalFishBossRail::createFillUpNamePosID() {
51 mNamePosIDs =
new s32[MR::getRailPointNum(
this)];
53 for (s32 i = 0; i < MR::getRailPointNum(
this); i++) {
58void SkeletalFishBossRail::linkFillUpNamePosID() {
59 for (s32 i = 0; i < MR::getRailPointNum(
this); i++) {
61 MR::calcRailPointPos(&railPos,
this, i);
62 mNamePosIDs[i] = SkeletalFishBossFunc::getNearestGuardPosID(railPos);
66SkeletalFishBossRail::~SkeletalFishBossRail() {
The basis of a drawable actor that can contain states (see: Nerve)
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.