1 #ifndef BATTLE_ATTACKTYPEMENU_H_
2 #define BATTLE_ATTACKTYPEMENU_H_
4 #include "AttackChoice.h"
5 #include "../geometry/Vector.h"
6 #include "../graphics/Sprite.h"
12 class AttackTypeMenu {
15 explicit AttackTypeMenu(const graphics::Sprite *icons)
16 : icons(icons), selected(AttackChoice::SWORD) { }
19 void Select(AttackChoice::Type t) { selected = t; }
20 AttackChoice::Type Selected() const { return selected; }
21 void Render(SDL_Surface *screen, const geometry::Vector<int> &position);
23 int Width() const { return 3 * IconWidth(); }
24 int Height() const { return 3 * IconHeight(); }
25 geometry::Vector<int> Size() const { return 3 * IconSize(); }
26 int IconWidth() const { return icons->Width(); }
27 int IconHeight() const { return icons->Height(); }
28 const geometry::Vector<int> &IconSize() const { return icons->Size(); }
31 const graphics::Sprite *icons;
32 AttackChoice::Type selected;
38 #endif /* BATTLE_ATTACKTYPEMENU_H_ */