X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2Fstates%2FSelectAttackType.h;h=51dd0f478d87f895cdc7a2d9ae5ad977db6e210e;hb=087783315ac5955c17bb3b051c9351f321653df6;hp=aa0a30384a0fb86b1ba555faf76e4dbf6f86ef5c;hpb=58c4bd0571f6d839df5ddb9fa02d8d0d54ad4454;p=l2e.git diff --git a/src/battle/states/SelectAttackType.h b/src/battle/states/SelectAttackType.h index aa0a303..51dd0f4 100644 --- a/src/battle/states/SelectAttackType.h +++ b/src/battle/states/SelectAttackType.h @@ -1,48 +1,64 @@ -/* - * SelectAttackType.h - * - * Created on: Aug 7, 2012 - * Author: holy - */ - #ifndef BATTLE_SELECTATTACKTYPE_H_ #define BATTLE_SELECTATTACKTYPE_H_ +namespace battle { + class Battle; + class BattleState; + class HeroTag; + struct Resources; +} +namespace common { + class Item; +} +namespace graphics { + template + class Menu; +} + #include "../../app/State.h" -#include "../../geometry/Vector.h" +#include "../../math/Vector.h" namespace battle { -class AttackTypeMenu; -class BattleState; - class SelectAttackType : public app::State { public: - explicit SelectAttackType(BattleState *battle) - : ctrl(0), battle(battle) { } + SelectAttackType(Battle *battle, BattleState *parent); public: - virtual void EnterState(app::Application &ctrl, SDL_Surface *screen); - virtual void ExitState(app::Application &ctrl, SDL_Surface *screen); - virtual void ResumeState(app::Application &ctrl, SDL_Surface *screen); - virtual void PauseState(app::Application &ctrl, SDL_Surface *screen); + virtual void HandleEvents(const app::Input &); + virtual void UpdateWorld(Uint32 deltaT); + virtual void Render(SDL_Surface *); - virtual void Resize(int width, int height); +public: + const Resources &Res() const; + graphics::Menu &ItemMenu(); + const graphics::Menu &ItemMenu() const; + const HeroTag &HeroTagAt(int index) const; + const math::Vector &HeroTagPositionAt(int index) const; - virtual void HandleInput(const app::Input &); - virtual void UpdateWorld(float deltaT); - virtual void Render(SDL_Surface *); + const math::Vector &ScreenOffset() const; + int Width() const; + int Height() const; + +private: + virtual void OnEnterState(SDL_Surface *screen); + virtual void OnExitState(SDL_Surface *screen); + virtual void OnResumeState(SDL_Surface *screen); + virtual void OnPauseState(SDL_Surface *screen); + + virtual void OnResize(int width, int height); private: - void RenderMenu(SDL_Surface *screen, const geometry::Vector &offset); + void RenderMenu(SDL_Surface *screen); private: - app::Application *ctrl; - BattleState *battle; + Battle *battle; + BattleState *parent; + math::Vector menuOffset; }; } -#endif /* BATTLE_SELECTATTACKTYPE_H_ */ +#endif