1#pragma once
2
3#include <basis/seadTypes.h>
4
5#include "Library/LiveActor/LiveActor.h"
6
7namespace al {
8class HitSensor;
9class SensorMsg;
10} // namespace al
11
12class HipDropSwitch : public al::LiveActor {
13public:
14 HipDropSwitch(const char*);
15 void init(const al::ActorInitInfo&) override;
16 void reset();
17 void control() override;
18 bool isOn() const;
19 bool receiveMsg(const al::SensorMsg*, al::HitSensor* self, al::HitSensor* other) override;
20 void startClipped() override;
21 bool isOnWait() const;
22 void writeSave();
23 void validateSwitchByCage();
24 void invalidateSwitchByCage();
25 void exeOffWait();
26 void exeReactionLand();
27 void exeOn();
28 void exeOnWait();
29 void exeDisable();
30
31private:
32 void* _108;
33 s32 _110;
34 s32 _114;
35 bool _118;
36 s32 _11c;
37 s32 _120;
38 void* _128;
39};
40
41static_assert(sizeof(HipDropSwitch) == 0x130);
42