1 #ifndef MENU_PARTYMENU_H_
2 #define MENU_PARTYMENU_H_
11 #include "HeroStatus.h"
12 #include "../app/State.h"
13 #include "../math/Vector.h"
14 #include "../graphics/Menu.h"
22 explicit PartyMenu(common::GameConfig *);
26 virtual void HandleEvents(const app::Input &);
27 virtual void UpdateWorld(Uint32 deltaT);
28 virtual void Render(SDL_Surface *);
31 common::GameConfig &Game() { return *game; }
32 const common::GameConfig &Game() const { return *game; }
34 const Resources &Res() const;
40 void RenderBackground(SDL_Surface *screen) const;
41 void RenderHeros(SDL_Surface *screen, const math::Vector<int> &offset) const;
42 void RenderMenu(SDL_Surface *screen, const math::Vector<int> &offset) const;
43 void RenderInfo(SDL_Surface *screen, const math::Vector<int> &offset) const;
45 math::Vector<int> StatusOffset(int index) const;
46 const HeroStatus &GetHeroStatus(int index) const { return status[index]; }
48 static void OnEquipSelect(void *, int);
49 static void OnSpellSelect(void *, int);
50 static void OnStatusSelect(void *, int);
53 virtual void OnEnterState(SDL_Surface *screen);
54 virtual void OnExitState(SDL_Surface *screen);
55 virtual void OnResumeState(SDL_Surface *screen);
56 virtual void OnPauseState(SDL_Surface *screen);
58 virtual void OnResize(int width, int height);
74 math::Vector<int> statusPositions[4];
75 common::GameConfig *game;
76 graphics::Menu<int> mainMenu;