OdysseyDecomp/lib/al/Library/MapObj/BreakMapPartsBase.h
2025-05-10 16:57:49 +02:00

34 lines
967 B
C++

#pragma once
#include "Library/LiveActor/LiveActor.h"
namespace al {
class MtxConnector;
using JudgeFuncPtr = bool (*)(const SensorMsg* message, HitSensor* other, HitSensor* self);
class BreakMapPartsBase : public LiveActor {
public:
BreakMapPartsBase(const char* name);
void init(const ActorInitInfo& info) override;
void initAfterPlacement() override;
void kill() override;
void movement() override;
void calcAnim() override;
void exeWait();
void exeBreak();
void startBreakByProgram();
bool receiveMsg(const SensorMsg* message, HitSensor* other, HitSensor* self) override;
virtual JudgeFuncPtr getJudgeFunction(const char* name) const { return nullptr; }
private:
JudgeFuncPtr mJudgeFunction = nullptr;
MtxConnector* mMtxConnector = nullptr;
sead::Vector3f mItemOffset = {0.0f, 0.0f, 0.0f};
bool mIsExistHitReactionBreak = false;
IUseAudioKeeper* mAudioKeeper = nullptr;
};
} // namespace al