X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2Fstates%2FSwapHeroes.h;fp=src%2Fbattle%2Fstates%2FSwapHeroes.h;h=07dba7105f709a03dc97fdee9119ade14d24d712;hb=62c0a1d0ac98eb51418e4daa59e80b6cc97b522f;hp=0000000000000000000000000000000000000000;hpb=41983a2cd8dbbfe6adc02cdfccbf5c2887306e51;p=l2e.git diff --git a/src/battle/states/SwapHeroes.h b/src/battle/states/SwapHeroes.h new file mode 100644 index 0000000..07dba71 --- /dev/null +++ b/src/battle/states/SwapHeroes.h @@ -0,0 +1,60 @@ +/* + * SwapHeroes.h + * + * Created on: Aug 10, 2012 + * Author: holy + */ + +#ifndef BATTLE_SWAPHEROES_H_ +#define BATTLE_SWAPHEROES_H_ + +#include "../../app/State.h" + +#include "../../geometry/Vector.h" + +namespace battle { + +class BattleState; +class SelectMoveAction; + +class SwapHeroes +: public app::State { + +public: + SwapHeroes(BattleState *battle, SelectMoveAction *parent) + : ctrl(0), battle(battle), parent(parent), cursor(0), selected(-1), flipFlop(true) { } + +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 Resize(int width, int height); + + virtual void HandleInput(const app::Input &); + virtual void UpdateWorld(float deltaT); + virtual void Render(SDL_Surface *); + +private: + void MoveUp(); + void MoveRight(); + void MoveDown(); + void MoveLeft(); + +private: + void RenderCursors(SDL_Surface *screen, const geometry::Vector &offset); + +private: + app::Application *ctrl; + BattleState *battle; + SelectMoveAction *parent; + int cursor; + int selected; + bool flipFlop; + +}; + +} + +#endif /* BATTLE_SWAPHEROES_H_ */