+ bool BeforeFirstHero() const { return activeHero < 0; }
+ void PreviousHero() { --activeHero; }
+ Hero &ActiveHero() { return heroes[activeHero]; }
+ const Hero &ActiveHero() const { return heroes[activeHero]; }
+ bool HasChosenAttackType() const { return attackChoices[activeHero].GetType() != AttackChoice::UNDECIDED; }
+ void SetAttackType(AttackChoice::Type t) { attackChoices[activeHero].SetType(t); }
+ bool AttackSelectionDone() const { return activeHero >= (int) heroes.size(); }
+ graphics::Menu</* Spell */ void *> &GetSpellMenu() { return spellMenus[activeHero]; }
+ const graphics::Menu</* Spell */ void *> &GetSpellMenu() const { return spellMenus[activeHero]; }
+ graphics::Menu</* Item */ void *> &GetItemMenu() { return itemMenu; }
+ const graphics::Menu</* Item */ void *> &GetItemMenu() const { return itemMenu; }