Line data Source code
1 : #ifndef __BODY_THROW_ANIMATION_STATE_HPP__
2 : #define __BODY_THROW_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 BodyThrowAnimationState final : public Soldank::AnimationState
13 : {
14 : public:
15 : BodyThrowAnimationState(const AnimationDataManager& animation_data_manager);
16 0 : ~BodyThrowAnimationState() override = default;
17 :
18 : void Enter(Soldier& soldier) final;
19 : std::optional<std::shared_ptr<AnimationState>> HandleInput(Soldier& soldier) final;
20 : void Update(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 : } // namespace Soldank
29 :
30 : #endif
|