]> git.localhorst.tv Git - l2e.git/blobdiff - src/battle/states/PerformAttacks.h
alternate approach to battle animation
[l2e.git] / src / battle / states / PerformAttacks.h
index a4d58dcc64f47ada4dd39f3a6bd0c53c67108cf0..556ae43b5b0bb93b5210457ebb449afa9cc58d0c 100644 (file)
 
 namespace battle {
 
-class AttackAnimation;
-
 class PerformAttacks
 : public app::State {
 
 public:
        explicit PerformAttacks(BattleState *battle)
-       : ctrl(0), battle(battle), moveAnimation(0), attackAnimation(0), titleBarText(0), cursor(-1) { }
+       : ctrl(0), battle(battle), moveAnimation(0), targetAnimation(0), titleBarText(0), cursor(-1) { }
 
 public:
        virtual void EnterState(app::Application &ctrl, SDL_Surface *screen);
@@ -41,23 +39,25 @@ public:
        virtual void Render(SDL_Surface *);
 
 private:
-       void CheckNumberAnimation();
+       void CheckAnimations();
        bool HasAnimationsRunning() const;
        void ResetAnimation();
        void AdvanceCursor();
        bool Finished() const { return cursor >= int(order.size()); }
 
 private:
-       void RenderTitleBar(SDL_Surface *screen, const geometry::Vector<int> &offset);
-       void RenderNumbers(SDL_Surface *screen, const geometry::Vector<int> &offset);
+       void RenderTitleBar(SDL_Surface *screen, const geometry::Vector<int> &offset) const;
+       void RenderNumbers(SDL_Surface *screen, const geometry::Vector<int> &offset) const;
+       void RenderTargetAnimation(SDL_Surface *screen, const geometry::Vector<int> &offset) const;
 
 private:
        app::Application *ctrl;
        BattleState *battle;
        graphics::Animation *moveAnimation;
-       AttackAnimation *attackAnimation;
+       graphics::Animation *targetAnimation;
        const char *titleBarText;
        app::Timer<Uint32> titleBarTimer;
+       app::Timer<Uint32> targetAnimationTimer;
        std::vector<BattleState::Order> order;
        std::vector<NumberAnimation> numberAnimation;
        std::vector<geometry::Point<int> > numberPosition;