OdysseyDecomp/lib/al/Library/MapObj/RailMoveMapParts.h

33 lines
797 B
C++

#pragma once
#include "Library/LiveActor/LiveActor.h"
namespace al {
class SwitchKeepOnAreaGroup;
class SwitchOnAreaGroup;
class RailMoveMapParts : public LiveActor {
public:
RailMoveMapParts(const char* name);
void init(const ActorInitInfo& info) override;
void start();
void stop();
bool receiveMsg(const SensorMsg* message, HitSensor* other, HitSensor* self) override;
void control() override;
void appearAndSetStart();
void exeStandBy();
void exeMoveSign();
void exeMove();
private:
SwitchKeepOnAreaGroup* mSwitchKeepOnAreaGroup = nullptr;
SwitchOnAreaGroup* mSwitchOnAreaGroup = nullptr;
sead::Vector3f mRailPos = {0.0f, 0.0f, 0.0f};
f32 mRailCoord = 0.0f;
};
static_assert(sizeof(RailMoveMapParts) == 0x128);
} // namespace al