]> git.localhorst.tv Git - l2e.git/blobdiff - src/battle/states/VictoryState.h
added simple victory state
[l2e.git] / src / battle / states / VictoryState.h
diff --git a/src/battle/states/VictoryState.h b/src/battle/states/VictoryState.h
new file mode 100644 (file)
index 0000000..bb872a2
--- /dev/null
@@ -0,0 +1,58 @@
+#ifndef BATTLE_VICTORYSTATE_H_
+#define BATTLE_VICTORYSTATE_H_
+
+namespace battle {
+       class Battle;
+       class BattleState;
+}
+
+#include "../../app/State.h"
+#include "../../math/Vector.h"
+
+#include <string>
+#include <vector>
+
+namespace battle {
+
+class VictoryState
+: public app::State {
+
+public:
+       VictoryState(
+                       Battle *battle,
+                       BattleState *parent)
+       : battle(battle)
+       , parent(parent) { }
+
+public:
+       virtual void HandleEvents(const app::Input &);
+       virtual void UpdateWorld(Uint32 deltaT);
+       virtual void Render(SDL_Surface *);
+
+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 LoadResults();
+       void RenderFrame(SDL_Surface *screen);
+       void RenderLines(SDL_Surface *screen);
+
+private:
+       Battle *battle;
+       BattleState *parent;
+       app::Timer<Uint32> timer;
+       std::vector<std::string> lines;
+       math::Vector<int> framePosition;
+       math::Vector<int> frameSize;
+       math::Vector<int> textPosition;
+
+};
+
+}
+
+#endif