#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;
+}
+
namespace battle {
-class Hero;
+class AttackChoice;
+struct Resources;
class HeroTag {
};
public:
- HeroTag(const Hero *hero, Alignment align) : hero(hero), align(align) { }
+ HeroTag() : hero(0), choice(0), res(0), align(LEFT) { };
+ HeroTag(const Hero *hero, const AttackChoice *choice, const Resources *res, Alignment align)
+ : hero(hero), choice(choice), res(res), align(align) { }
~HeroTag() { }
public:
+ const graphics::Sprite *HeroSprite() const { return hero->Sprite(); }
+ 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 Resources *res;
Alignment align;
};