1#pragma once
2
3#include "Library/LiveActor/LiveActor.h"
4
5#include "Util/IUseDimension.h"
6
7namespace al {
8struct ActorInitInfo;
9class HitSensor;
10class MtxConnector;
11class SensorMsg;
12} // namespace al
13
14class ActorDimensionKeeper;
15
16class CoinCollectEmpty2D : public al::LiveActor, public IUseDimension {
17public:
18 CoinCollectEmpty2D(const char* name, const char* archiveName);
19
20 void init(const al::ActorInitInfo& initInfo) override;
21 void initAfterPlacement() override;
22 bool receiveMsg(const al::SensorMsg* message, al::HitSensor* other,
23 al::HitSensor* self) override;
24 void endClipped() override;
25
26 ActorDimensionKeeper* getActorDimensionKeeper() const override { return mDimensionKeeper; }
27
28 void exeWait();
29 void exeGot();
30
31private:
32 al::MtxConnector* mMtxConnector = nullptr;
33 ActorDimensionKeeper* mDimensionKeeper = nullptr;
34 const char* mArchiveName = nullptr;
35};
36