1 #ifndef MENU_PARTYMENU_H_
2 #define MENU_PARTYMENU_H_
5 #include "HeroStatus.h"
6 #include "../app/State.h"
7 #include "../common/fwd.h"
8 #include "../geometry/Vector.h"
9 #include "../graphics/Menu.h"
17 explicit PartyMenu(common::GameConfig *);
21 virtual void HandleEvents(const app::Input &);
22 virtual void UpdateWorld(float deltaT);
23 virtual void Render(SDL_Surface *);
26 common::GameConfig &Game() { return *game; }
27 const common::GameConfig &Game() const { return *game; }
29 const Resources &Res() const;
35 void RenderBackground(SDL_Surface *screen) const;
36 void RenderHeros(SDL_Surface *screen, const geometry::Vector<int> &offset) const;
37 void RenderMenu(SDL_Surface *screen, const geometry::Vector<int> &offset) const;
38 void RenderInfo(SDL_Surface *screen, const geometry::Vector<int> &offset) const;
40 geometry::Vector<int> StatusOffset(int index) const;
41 const HeroStatus &GetHeroStatus(int index) const { return status[index]; }
43 static void OnEquipSelect(void *, int);
44 static void OnSpellSelect(void *, int);
45 static void OnStatusSelect(void *, int);
48 virtual void OnEnterState(SDL_Surface *screen);
49 virtual void OnExitState(SDL_Surface *screen);
50 virtual void OnResumeState(SDL_Surface *screen);
51 virtual void OnPauseState(SDL_Surface *screen);
53 virtual void OnResize(int width, int height);
69 geometry::Vector<int> statusPositions[4];
70 common::GameConfig *game;
71 graphics::Menu<int> mainMenu;
77 #endif /* MENU_PARTYMENU_H_ */