]> git.localhorst.tv Git - l2e.git/blobdiff - src/menu/PartyMenu.h
added hero selection state + status stub
[l2e.git] / src / menu / PartyMenu.h
index 5baaf69ac9635c8219e389fb380ed8a160830e77..a55b2c13f81fadeaf8071e832b4edffb5c950fdf 100644 (file)
@@ -30,9 +30,22 @@ public:
        virtual void Render(SDL_Surface *);
 
 public:
+       common::GameConfig &Game() { return *game; }
+       const common::GameConfig &Game() const { return *game; }
        Resources &Res();
        const Resources &Res() const;
 
+public:
+       void RenderBackground(SDL_Surface *screen) const;
+       void RenderHeros(SDL_Surface *screen, const geometry::Vector<int> &offset) const;
+       void RenderMenu(SDL_Surface *screen, const geometry::Vector<int> &offset) const;
+       void RenderInfo(SDL_Surface *screen, const geometry::Vector<int> &offset) const;
+
+       geometry::Vector<int> StatusOffset() const;
+       const HeroStatus &GetHeroStatus(int index) const { return status[index]; }
+
+       static void OnStatusSelect(PartyMenu *, int);
+
 private:
        virtual void OnEnterState(SDL_Surface *screen);
        virtual void OnExitState(SDL_Surface *screen);
@@ -41,9 +54,17 @@ private:
 
        virtual void OnResize(int width, int height);
 
-       void RenderHeros(SDL_Surface *screen, const geometry::Vector<int> &offset) const;
-       void RenderMenu(SDL_Surface *screen, const geometry::Vector<int> &offset) const;
-       void RenderInfo(SDL_Surface *screen, const geometry::Vector<int> &offset) const;
+private:
+       enum MenuItem {
+               MENU_ITEM_ITEM,
+               MENU_ITEM_SPELL,
+               MENU_ITEM_CAPSULE,
+               MENU_ITEM_EQUIP,
+               MENU_ITEM_STATUS,
+               MENU_ITEM_CHANGE,
+               MENU_ITEM_CONFIG,
+               MENU_ITEM_SCENARIO,
+       };
 
 private:
        HeroStatus status[4];