- const HeroTag &HeroTagAt(int index) const { return heroTags[index]; }
- const geometry::Point<int> &HeroTagPositionAt(int index) const { return heroTagPositions[index]; }
-
- bool HasChosenAttackType() const { return attackChoices[activeHero].GetType() != AttackChoice::UNDECIDED; }
- AttackChoice &ActiveHeroAttackChoice() { return attackChoices[activeHero]; }
- const AttackChoice &ActiveHeroAttackChoice() const { return attackChoices[activeHero]; }
- const AttackChoice &AttackChoiceAt(int index) const { return attackChoices[index]; }
+ bool HasChosenAttackType() const { return ActiveHeroAttackChoice().GetType() != AttackChoice::UNDECIDED; }
+ AttackChoice &ActiveHeroAttackChoice() { return AttackChoiceAt(activeHero); }
+ const AttackChoice &ActiveHeroAttackChoice() const { return AttackChoiceAt(activeHero); }
+ AttackChoice &AttackChoiceAt(int index) { assert(index >= 0 && index < NumHeroes()); return attackChoices[index]; }
+ const AttackChoice &AttackChoiceAt(int index) const { assert(index >= 0 && index < NumHeroes()); return attackChoices[index]; }