Line data Source code
1 : #ifndef __BODY_CHANGE_ANIMATION_STATE_HPP__
2 : #define __BODY_CHANGE_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 BodyChangeAnimationState final : public Soldank::AnimationState
13 : {
14 : public:
15 : BodyChangeAnimationState(const AnimationDataManager& animation_data_manager);
16 0 : ~BodyChangeAnimationState() final = default;
17 :
18 : std::optional<std::shared_ptr<AnimationState>> HandleInput(Soldier& soldier) final;
19 : void Update(Soldier& soldier, const PhysicsEvents& physics_events) final;
20 :
21 : private:
22 : bool IsSoldierShootingPossible(const Soldier& soldier) const final;
23 0 : bool IsSoldierFlagThrowingPossible(const Soldier& /*soldier*/) const final { return true; };
24 :
25 : const AnimationDataManager& animation_data_manager_;
26 : };
27 : } // namespace Soldank
28 :
29 : #endif
|