1#pragma once
2
3#include "Library/Nerve/NerveStateBase.h"
4
5namespace al {
6struct ActorInitInfo;
7class HitSensor;
8class LiveActor;
9class SensorMsg;
10} // namespace al
11
12class EnemyCap;
13
14class EnemyStateDamageCap : public al::ActorStateBase {
15public:
16 EnemyStateDamageCap(al::LiveActor* actor);
17 void kill() override;
18
19 void createEnemyCap(const al::ActorInitInfo&, const char*);
20 bool tryReceiveMsgCapBlow(const al::SensorMsg*, al::HitSensor*, al::HitSensor*);
21 bool isCapOn() const;
22 void blowCap(al::HitSensor*);
23 void resetCap();
24 void makeActorDeadCap();
25
26 void exeWait();
27 void exeDamageCap();
28
29 const EnemyCap* getEnemyCap() { return mEnemyCap; };
30
31private:
32 EnemyCap* mEnemyCap = nullptr;
33};
34