]> git.localhorst.tv Git - l2e.git/blobdiff - src/battle/AttackTypeMenu.h
put hero into a variable when applying damage for debugging purposes
[l2e.git] / src / battle / AttackTypeMenu.h
index b63ec97e53e55109c6abb2f4ec3f2f3378dd5fc9..4b38dd3bd45d2ecf908fb0242df93d94e5a13123 100644 (file)
@@ -8,10 +8,9 @@
 #ifndef BATTLE_ATTACKTYPEMENU_H_
 #define BATTLE_ATTACKTYPEMENU_H_
 
-namespace app { class Input; }
-namespace graphics { class Sprite; }
-
+#include "AttackChoice.h"
 #include "../geometry/Point.h"
+#include "../graphics/Sprite.h"
 
 #include <SDL.h>
 
@@ -19,27 +18,23 @@ namespace battle {
 
 class AttackTypeMenu {
 
-public:
-       enum Icon {
-               SWORD,
-               MAGIC,
-               DEFEND,
-               IKARI,
-               ITEM
-       };
-
 public:
        explicit AttackTypeMenu(const graphics::Sprite *icons)
-       : icons(icons), selected(SWORD) { }
+       : icons(icons), selected(AttackChoice::SWORD) { }
 
 public:
-       void ReadInput(const app::Input &);
-       Icon Selected() const { return selected; }
-       void Render(SDL_Surface *screen, const geometry::Point<int> &center);
+       void Select(AttackChoice::Type t) { selected = t; }
+       AttackChoice::Type Selected() const { return selected; }
+       void Render(SDL_Surface *screen, const geometry::Point<int> &position);
+
+       int Width() const { return 3 * IconWidth(); }
+       int Height() const { return 3 * IconHeight(); }
+       int IconWidth() const { return icons->Width(); }
+       int IconHeight() const { return icons->Height(); }
 
 private:
        const graphics::Sprite *icons;
-       Icon selected;
+       AttackChoice::Type selected;
 
 };