X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2FAttackTypeMenu.cpp;h=2ec7a1f129b26bbe25eadf47232d014023fc8cdd;hb=b53c2ec2621ccc654e819cb203dc26e0a482bd41;hp=2a23a09bb7597415b1b44bc9f8080e8f5ba0255f;hpb=c0860451b5fd681c3b3b8d985e8831276bbd917f;p=l2e.git diff --git a/src/battle/AttackTypeMenu.cpp b/src/battle/AttackTypeMenu.cpp index 2a23a09..2ec7a1f 100644 --- a/src/battle/AttackTypeMenu.cpp +++ b/src/battle/AttackTypeMenu.cpp @@ -7,43 +7,27 @@ #include "AttackTypeMenu.h" -#include "../app/Input.h" #include "../geometry/operators.h" #include "../geometry/Vector.h" #include "../graphics/Sprite.h" -using app::Input; using geometry::Point; using geometry::Vector; namespace battle { -void AttackTypeMenu::ReadInput(const Input &input) { - if (input.IsDown(Input::PAD_UP)) { - selected = MAGIC; - } else if (input.IsDown(Input::PAD_RIGHT)) { - selected = DEFEND; - } else if (input.IsDown(Input::PAD_DOWN)) { - selected = IKARI; - } else if (input.IsDown(Input::PAD_LEFT)) { - selected = ITEM; - } else { - selected = SWORD; - } -} - -void AttackTypeMenu::Render(SDL_Surface *screen, const geometry::Point ¢er) { - Vector swordOffset(icons->Width() / -2, icons->Height() / -2); - Vector magicOffset(swordOffset.X(), swordOffset.Y() - icons->Height()); - Vector defendOffset(swordOffset.X() + icons->Width(), swordOffset.Y()); - Vector ikariOffset(swordOffset.X(), swordOffset.Y() + icons->Height()); - Vector itemOffset(swordOffset.X() - icons->Width(), swordOffset.Y()); - - icons->Draw(screen, center + swordOffset, SWORD, (selected == SWORD) ? 1 : 0); - icons->Draw(screen, center + magicOffset, MAGIC, (selected == MAGIC) ? 1 : 0); - icons->Draw(screen, center + defendOffset, DEFEND, (selected == DEFEND) ? 1 : 0); - icons->Draw(screen, center + ikariOffset, IKARI, (selected == IKARI) ? 1 : 0); - icons->Draw(screen, center + itemOffset, ITEM, (selected == ITEM) ? 1 : 0); +void AttackTypeMenu::Render(SDL_Surface *screen, const geometry::Point &position) { + Vector swordOffset(IconWidth(), IconHeight()); + Vector magicOffset(IconWidth(), 0); + Vector defendOffset(2 * IconWidth(), IconHeight()); + Vector ikariOffset(IconWidth(), 2 * IconHeight()); + Vector itemOffset(0, IconHeight()); + + icons->Draw(screen, position + swordOffset, AttackChoice::SWORD, (selected == AttackChoice::SWORD) ? 1 : 0); + icons->Draw(screen, position + magicOffset, AttackChoice::MAGIC, (selected == AttackChoice::MAGIC) ? 1 : 0); + icons->Draw(screen, position + defendOffset, AttackChoice::DEFEND, (selected == AttackChoice::DEFEND) ? 1 : 0); + icons->Draw(screen, position + ikariOffset, AttackChoice::IKARI, (selected == AttackChoice::IKARI) ? 1 : 0); + icons->Draw(screen, position + itemOffset, AttackChoice::ITEM, (selected == AttackChoice::ITEM) ? 1 : 0); } }