1#pragma once
2
3#include <basis/seadTypes.h>
4
5#include "Library/LiveActor/LiveActor.h"
6
7namespace al {
8struct ActorInitInfo;
9class HitSensor;
10class SensorMsg;
11} // namespace al
12
13class Souvenir : public al::LiveActor {
14public:
15 Souvenir(const char* name);
16 void init(const al::ActorInitInfo& actorInitInfo) override;
17 void control() override;
18 void attackSensor(al::HitSensor* self, al::HitSensor* other) override;
19 bool receiveMsg(const al::SensorMsg* msg, al::HitSensor* self, al::HitSensor* other) override;
20
21 void exeWait();
22 inline const char* getNextAction();
23 void exeReactionCap();
24
25private:
26 bool mIsWait = false;
27 bool mIsReactionPlayerUpperPunch = false;
28 bool mIsThroughCapAttack = false;
29 f32 mRotateYSpeed = 0.0f;
30};
31
32static_assert(sizeof(Souvenir) == 0x110);
33