-/*
- * HeroTag.h
- *
- * Created on: Aug 6, 2012
- * Author: holy
- */
-
#ifndef BATTLE_HEROTAG_H_
#define BATTLE_HEROTAG_H_
-#include "../geometry/Point.h"
-
-#include <SDL.h>
-
+namespace battle {
+ class BattleState;
+}
namespace graphics {
- class Frame;
- class Gauge;
+ class Sprite;
+}
+namespace math {
+ template<class>
+ class Vector;
}
-namespace battle {
+#include <SDL.h>
-class AttackChoice;
-class Hero;
+namespace battle {
class HeroTag {
public:
- enum Alignment {
- LEFT,
- RIGHT
- };
+ HeroTag() : battle(0), index(0) { }
+ HeroTag(const BattleState *battle, int heroIndex)
+ : battle(battle), index(heroIndex) { }
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, Alignment align)
- : hero(hero), choice(choice), frame(frame), activeFrame(activeFrame), healthGauge(healthGauge), manaGauge(manaGauge), ikariGauge(ikariGauge), align(align) { }
- ~HeroTag() { }
+ const graphics::Sprite *HeroSprite() const;
+ math::Vector<int> HeroOffset() const;
-public:
- void Render(SDL_Surface *screen, int width, int height, geometry::Point<int> position, bool active) const;
+ void Render(SDL_Surface *screen, int width, int height, const math::Vector<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;
- Alignment align;
+ const BattleState *battle;
+ int index;
};
}
-#endif /* BATTLE_HEROTAG_H_ */
+#endif