]> git.localhorst.tv Git - l2e.git/blobdiff - src/battle/HeroTag.h
added and implemented swap heroes state
[l2e.git] / src / battle / HeroTag.h
index 004d3eced8fa11d5b93897964d1a45d6934ee617..c21f8570b63c5de5b2668502f3e876f9c806fd80 100644 (file)
@@ -8,11 +8,14 @@
 #ifndef BATTLE_HEROTAG_H_
 #define BATTLE_HEROTAG_H_
 
+#include "Hero.h"
 #include "../geometry/Point.h"
+#include "../geometry/Vector.h"
 
 #include <SDL.h>
 
 namespace graphics {
+       class Font;
        class Frame;
        class Gauge;
        class Sprite;
@@ -20,35 +23,25 @@ namespace graphics {
 
 namespace battle {
 
-class AttackChoice;
-class Hero;
+class BattleState;
 
 class HeroTag {
 
 public:
-       enum Alignment {
-               LEFT,
-               RIGHT
-       };
-
-public:
-       HeroTag(const Hero *hero, const AttackChoice *choice, const graphics::Frame *frame, const graphics::Frame *activeFrame, const graphics::Gauge *healthGauge, const graphics::Gauge *manaGauge, const graphics::Gauge *ikariGauge, const graphics::Sprite *sprites, Alignment align)
-       : hero(hero), choice(choice), frame(frame), activeFrame(activeFrame), healthGauge(healthGauge), manaGauge(manaGauge), ikariGauge(ikariGauge), sprites(sprites), align(align) { }
+       HeroTag() : battle(0), index(0) { };
+       HeroTag(const BattleState *battle, int heroIndex)
+       : battle(battle), index(heroIndex) { }
        ~HeroTag() { }
 
 public:
+       const graphics::Sprite *HeroSprite() const;
+       geometry::Vector<int> HeroOffset() const;
+
        void Render(SDL_Surface *screen, int width, int height, geometry::Point<int> position, bool active) const;
 
 private:
-       const Hero *hero;
-       const AttackChoice *choice;
-       const graphics::Frame *frame;
-       const graphics::Frame *activeFrame;
-       const graphics::Gauge *healthGauge;
-       const graphics::Gauge *manaGauge;
-       const graphics::Gauge *ikariGauge;
-       const graphics::Sprite *sprites;
-       Alignment align;
+       const BattleState *battle;
+       int index;
 
 };