#include "HeroTag.h"
+#include "AttackChoice.h"
#include "Hero.h"
#include "Resources.h"
#include "../geometry/operators.h"
Vector<int> alignOffset(align == LEFT ? 4 * res->heroTagFont->CharWidth() : 0, 0);
frame->Draw(screen, position, width, height);
- int yOffset((height - hero->Sprite()->Height()) / 2);
-
// gauges
// NOTE: assuming frame border is unit size until charsets are impemented
int gaugeX((align == LEFT ? 10 : 6) * res->heroTagFont->CharWidth());
// name
res->normalFont->DrawString(hero->Name(), screen, position + frameOffset + alignOffset, 5);
+ // attack icon
+ if (choice->GetType() != AttackChoice::UNDECIDED) {
+ Vector<int> attackIconOffset(labelX + res->heroTagLabels->Width(), frameOffset.Y() + 3 * res->heroTagFont->CharHeight());
+ res->attackChoiceIcons->Draw(screen, position + attackIconOffset, 0, choice->GetType());
+ }
+
// hero
- Vector<int> heroOffset(
- (align == LEFT) ? yOffset : width - hero->Sprite()->Width() - yOffset,
- yOffset);
- hero->Sprite()->Draw(screen, position + heroOffset, 0, hero->Health() > 0 ? 0 : 2);
+ hero->Sprite()->Draw(screen, position + HeroOffset(), 0, hero->Health() > 0 ? 0 : 2);
+}
+
+Vector<int> HeroTag::HeroOffset() const {
+ return Vector<int>(
+ (align == LEFT) ? res->normalFont->CharWidth() : 10 * res->normalFont->CharWidth(),
+ res->normalFont->CharWidth());
}
}