#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 Frame; }
+namespace graphics {
+ class Font;
+ class Frame;
+ class Gauge;
+ class Sprite;
+}
namespace battle {
class AttackChoice;
-class Hero;
+struct Resources;
class HeroTag {
};
public:
- HeroTag(const Hero *hero, const AttackChoice *choice, const graphics::Frame *frame, const graphics::Frame *activeFrame, Alignment align)
- : hero(hero), choice(choice), frame(frame), activeFrame(activeFrame), 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 graphics::Frame *frame;
- const graphics::Frame *activeFrame;
+ const Resources *res;
Alignment align;
};