OdysseyDecomp/lib/al/Library/Obj/EffectObj.h

33 lines
800 B
C++

#pragma once
#include "Library/LiveActor/LiveActor.h"
#include "Library/Movement/MoveType.h"
namespace al {
class MtxConnector;
class EffectObj : public LiveActor {
public:
EffectObj(const char* name);
void init(const ActorInitInfo& info) override;
void initAfterPlacement() override;
void control() override;
void appear() override;
void kill() override;
virtual bool tryEmitStart();
private:
sead::Matrix34f mBaseMtx = sead::Matrix34f::ident;
MtxConnector* mMtxConnector = nullptr;
MoveType mMoveType = MoveType::Loop;
f32 mRailMoveSpeed = 0;
sead::Vector3f mRailPos = {0, 0, 0};
bool mIsSyncRailPose = false;
bool mIsStarted = false;
bool mIsEffectObjScale = false;
};
static_assert(sizeof(EffectObj) == 0x158);
} // namespace al