1#pragma once
2
3#include <math/seadVector.h>
4
5#include "Library/Nerve/NerveStateBase.h"
6
7#include "Player/IUsePlayerCollision.h"
8
9namespace al {
10struct ActorInitInfo;
11class LiveActor;
12class HitSensor;
13class SensorMsg;
14} // namespace al
15
16class KaronWing;
17class IUsePlayerHack;
18
19class KaronWingStateHack : public al::ActorStateBase, public IUsePlayerCollision {
20public:
21 KaronWingStateHack(al::LiveActor* parent, const al::ActorInitInfo& info,
22 IUsePlayerHack** playerHack);
23
24 PlayerCollider* getPlayerCollider() const override;
25
26 void updateCollider();
27 void attackSensor(al::HitSensor* self, al::HitSensor* other);
28 bool receiveMsg(const al::SensorMsg* message, al::HitSensor* other, al::HitSensor* self);
29
30 void resetFlyLimit(const sead::Vector3f&);
31
32 bool isEndCancel() const;
33 bool isEndReset() const;
34 bool isEndDamage() const;
35
36private:
37 void* filler[0x48 / 8];
38};
39