X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmenu%2FStatusMenu.h;h=08d2e0b1dbc958ee874031fef5c6857eff9b6d85;hb=cc3d698b8c1ad09d7a3f9e3f28bc84e0ac1735ea;hp=465c7c41bc7eb74e78e9934fe2944d4349316bb2;hpb=bba1ac05e8c1854dc61bd737d228d9bc18bbb6ad;p=l2e.git diff --git a/src/menu/StatusMenu.h b/src/menu/StatusMenu.h index 465c7c4..08d2e0b 100644 --- a/src/menu/StatusMenu.h +++ b/src/menu/StatusMenu.h @@ -1,15 +1,11 @@ -/* - * StatusMenu.h - * - * Created on: Oct 22, 2012 - * Author: holy - */ - #ifndef MENU_STATUSMENU_H_ #define MENU_STATUSMENU_H_ #include "fwd.h" #include "../app/State.h" +#include "../common/fwd.h" +#include "../geometry/Vector.h" +#include "../graphics/Menu.h" namespace menu { @@ -17,13 +13,17 @@ class StatusMenu : public app::State { public: - explicit StatusMenu(PartyMenu *parent); + StatusMenu(PartyMenu *parent, int heroIndex); public: virtual void HandleEvents(const app::Input &); virtual void UpdateWorld(float deltaT); virtual void Render(SDL_Surface *); +public: + int Width() const; + int Height() const; + private: virtual void OnEnterState(SDL_Surface *screen); virtual void OnExitState(SDL_Surface *screen); @@ -32,8 +32,27 @@ private: virtual void OnResize(int width, int height); + void NextHero(); + void PreviousHero(); + + const common::Hero &GetHero() const; + + void RenderStatus(SDL_Surface *screen, const geometry::Vector &offset) const; + void RenderStats(SDL_Surface *screen, const geometry::Vector &offset) const; + void RenderStatsLine(const char *label, int number, SDL_Surface *screen, const geometry::Vector &position) const; + void RenderEquipment(SDL_Surface *screen, const geometry::Vector &offset) const; + void RenderEquipmentLine(const common::Item *, SDL_Surface *screen, const geometry::Vector &position) const; + /// @param offset the top right corner! + void RenderExperience(SDL_Surface *screen, const geometry::Vector &offset) const; + /// @param offset the top right corner! + void RenderNextLevel(SDL_Surface *screen, const geometry::Vector &offset) const; + void RenderIkari(SDL_Surface *screen, const geometry::Vector &offset) const; + void RenderMenu(SDL_Surface *screen, const geometry::Vector &offset) const; + private: PartyMenu *parent; + int cursor; + graphics::Menu menu; };