X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2Fstates%2FRunState.cpp;h=311e0f35c3cc8b8c7aba89350901da1c762a3e92;hb=5ca18f73987fb3935ab34654cbbecf5eca4704cb;hp=6f4325a0b72d0f3850b334c83fe8fe321c771316;hpb=69123d71dacfdd6592c00ead8b92b6441d0f0228;p=l2e.git diff --git a/src/battle/states/RunState.cpp b/src/battle/states/RunState.cpp index 6f4325a..311e0f3 100644 --- a/src/battle/states/RunState.cpp +++ b/src/battle/states/RunState.cpp @@ -10,8 +10,7 @@ #include "../BattleState.h" #include "../../app/Application.h" #include "../../app/Input.h" -#include "../../geometry/operators.h" -#include "../../geometry/Point.h" +#include "../../geometry/Vector.h" #include "../../graphics/Font.h" #include "../../graphics/Frame.h" @@ -19,30 +18,28 @@ using app::Application; using app::Input; -using geometry::Point; using geometry::Vector; namespace battle { -void RunState::EnterState(Application &c, SDL_Surface *screen) { - ctrl = &c; - // TODO: push battle animation if enemy is faster +void RunState::OnEnterState(SDL_Surface *screen) { + } -void RunState::ExitState(Application &c, SDL_Surface *screen) { - ctrl = 0; +void RunState::OnExitState(SDL_Surface *screen) { + } -void RunState::ResumeState(Application &ctrl, SDL_Surface *screen) { +void RunState::OnResumeState(SDL_Surface *screen) { timer = GraphicsTimers().StartCountdown(2500); } -void RunState::PauseState(Application &ctrl, SDL_Surface *screen) { +void RunState::OnPauseState(SDL_Surface *screen) { } -void RunState::Resize(int width, int height) { +void RunState::OnResize(int width, int height) { } @@ -50,7 +47,7 @@ void RunState::Resize(int width, int height) { void RunState::HandleEvents(const Input &input) { if (timer.Finished()) { battle->SetRunaway(); - ctrl->PopState(); // pop self + Ctrl().PopState(); // pop self } } @@ -64,16 +61,16 @@ void RunState::Render(SDL_Surface *screen) { battle->RenderBackground(screen, offset); battle->RenderMonsters(screen, offset); battle->RenderHeroes(screen, offset); - // render small tags + battle->RenderSmallHeroTags(screen, offset); RenderTitleBar(screen, offset); } void RunState::RenderTitleBar(SDL_Surface *screen, const Vector &offset) { int height(battle->Res().titleFrame->BorderHeight() * 2 + battle->Res().titleFont->CharHeight()); - battle->Res().titleFrame->Draw(screen, Point(offset.X(), offset.Y()), battle->BackgroundWidth(), height); + battle->Res().titleFrame->Draw(screen, offset, battle->Width(), height); - Point textPosition( - (battle->BackgroundWidth() - (std::strlen(battle->Res().escapeText) * battle->Res().titleFont->CharWidth())) / 2, + Vector textPosition( + (battle->Width() - (std::strlen(battle->Res().escapeText) * battle->Res().titleFont->CharWidth())) / 2, battle->Res().titleFrame->BorderHeight()); battle->Res().titleFont->DrawString(battle->Res().escapeText, screen, textPosition + offset); }