1#pragma once
2
3namespace al {
4class HitSensor;
5}
6
7class EquipmentInfo;
8class IPlayerModelChanger;
9class PlayerInput;
10class PlayerModelHolder;
11class PlayerStateRolling;
12
13class PlayerEquipmentUser {
14public:
15 PlayerEquipmentUser(const PlayerInput* input, const PlayerModelHolder* model_holder,
16 const IPlayerModelChanger* model_changer);
17
18 void startEquip(al::HitSensor* equipment_sensor, al::HitSensor* source_sensor,
19 const EquipmentInfo* info);
20 void cancelEquip();
21 void endEquip();
22 void noticeDamage();
23
24private:
25 al::HitSensor* mSourceSensor = nullptr;
26 al::HitSensor* mEquipmentSensor = nullptr;
27 const EquipmentInfo* mEquipmentInfo = nullptr;
28 const PlayerInput* mPlayerInput;
29 const PlayerModelHolder* mPlayerModelHolder;
30 const IPlayerModelChanger* mPlayerModelChanger;
31 PlayerStateRolling* mPlayerStateRolling = nullptr;
32};
33
34static_assert(sizeof(PlayerEquipmentUser) == 0x38);
35