Line data Source code
1 : #ifndef __BODY_THROW_WEAPON_ANIMATION_STATE_HPP__
2 : #define __BODY_THROW_WEAPON_ANIMATION_STATE_HPP__
3 :
4 : #include "core/animations/AnimationState.hpp"
5 :
6 : #include "core/animations/AnimationData.hpp"
7 :
8 : namespace Soldank
9 : {
10 : struct Soldier;
11 :
12 : class BodyThrowWeaponAnimationState final : public Soldank::AnimationState
13 : {
14 : public:
15 : BodyThrowWeaponAnimationState(const AnimationDataManager& animation_data_manager);
16 0 : ~BodyThrowWeaponAnimationState() override = default;
17 :
18 : void Enter(Soldier& soldier) final;
19 : std::optional<std::shared_ptr<AnimationState>> HandleInput(Soldier& soldier) final;
20 : void Exit(Soldier& soldier, const PhysicsEvents& physics_events) final;
21 :
22 : private:
23 0 : bool IsSoldierShootingPossible(const Soldier& /*soldier*/) const final { return true; }
24 0 : bool IsSoldierFlagThrowingPossible(const Soldier& /*soldier*/) const final { return true; };
25 :
26 : const AnimationDataManager& animation_data_manager_;
27 :
28 : bool should_throw_weapon_;
29 : };
30 : } // namespace Soldank
31 :
32 : #endif
|