X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2FHeroTag.h;h=9ce1963cb854209d8ef177a9080deb5dbdada9c6;hb=f552d26f537af9fa48255bd71cdc1a0a1b860bac;hp=b5ab475698b90e14d634fc183fc3e10c2f5727c6;hpb=2e0bbc9fcc1cce3e1faeff85cc63de7f676e8077;p=l2e.git diff --git a/src/battle/HeroTag.h b/src/battle/HeroTag.h index b5ab475..9ce1963 100644 --- a/src/battle/HeroTag.h +++ b/src/battle/HeroTag.h @@ -8,45 +8,31 @@ #ifndef BATTLE_HEROTAG_H_ #define BATTLE_HEROTAG_H_ -#include "../geometry/Point.h" +#include "fwd.h" +#include "Hero.h" +#include "../geometry/Vector.h" +#include "../graphics/fwd.h" #include -namespace graphics { - class Frame; - class Gauge; -} - namespace battle { -class AttackChoice; -class Hero; - 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; + geometry::Vector HeroOffset() const; -public: - void Render(SDL_Surface *screen, int width, int height, geometry::Point position, bool active) const; + void Render(SDL_Surface *screen, int width, int height, const geometry::Vector &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; };