X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmenu%2FSelectHero.cpp;h=a46333a6e9dc70c123f6f787d57a1503b06b51d0;hb=cc3d698b8c1ad09d7a3f9e3f28bc84e0ac1735ea;hp=74e6f88ad9fd1a67310c653da7402dfb0f6e1dfc;hpb=243cb7d922fe888be8d18241de138ad5949de430;p=l2e.git diff --git a/src/menu/SelectHero.cpp b/src/menu/SelectHero.cpp index 74e6f88..a46333a 100644 --- a/src/menu/SelectHero.cpp +++ b/src/menu/SelectHero.cpp @@ -1,10 +1,3 @@ -/* - * SelectHero.cpp - * - * Created on: Oct 22, 2012 - * Author: holy - */ - #include "SelectHero.h" #include "HeroStatus.h" @@ -23,8 +16,10 @@ using geometry::Vector; namespace menu { -SelectHero::SelectHero(PartyMenu *parent, Callback cb, int cursor) +SelectHero::SelectHero(app::State *parent, PartyMenu *pm, void *ref, Callback cb, int cursor) : parent(parent) +, partyMenu(pm) +, ref(ref) , callback(cb) , cursor(cursor) { @@ -55,7 +50,7 @@ void SelectHero::OnResize(int width, int height) { void SelectHero::HandleEvents(const Input &input) { if (input.JustPressed(Input::ACTION_A)) { - callback(parent, cursor); + callback(ref, cursor); } if (input.JustPressed(Input::ACTION_B)) { Ctrl().PopState(); @@ -73,40 +68,40 @@ void SelectHero::HandleEvents(const Input &input) { } void SelectHero::SelectUp() { - cursor = (cursor + 2) % parent->Game().state->partySize; + cursor = (cursor + 2) % partyMenu->Game().state->partySize; cursorBlink.Restart(); } void SelectHero::SelectRight() { - cursor = (cursor + 1) % parent->Game().state->partySize; + cursor = (cursor + 1) % partyMenu->Game().state->partySize; cursorBlink.Restart(); } void SelectHero::SelectDown() { - cursor = (cursor + 2) % parent->Game().state->partySize; + cursor = (cursor + 2) % partyMenu->Game().state->partySize; cursorBlink.Restart(); } void SelectHero::SelectLeft() { - cursor = (cursor + 3) % parent->Game().state->partySize; + cursor = (cursor + 3) % partyMenu->Game().state->partySize; cursorBlink.Restart(); } common::GameConfig &SelectHero::Game() { - return parent->Game(); + return partyMenu->Game(); } const common::GameConfig &SelectHero::Game() const { - return parent->Game(); + return partyMenu->Game(); } Resources &SelectHero::Res() { - return parent->Res(); + return partyMenu->Res(); } const Resources &SelectHero::Res() const { - return parent->Res(); + return partyMenu->Res(); } @@ -125,7 +120,7 @@ void SelectHero::Render(SDL_Surface *screen) { void SelectHero::RenderCursor(SDL_Surface *screen) const { Vector position( 0, Game().state->party[cursor]->BattleSprite()->Height()); - position += parent->StatusOffset(cursor); + position += partyMenu->StatusOffset(cursor); Res().heroCursor->Draw(screen, position); }