Added basic transition system that works with GameApp's phases. Currently does a fade-out between elements, which works well in some places and not-so-well in others. We'll definitely want to think about where and where not to use it... they'd work a lot better if we could spawn a thread to handle loading the next state while transitioning. Also cleaned up the shop a bit, so it uses ReadButton() instead of GetButtonClick()-- hence the slight change to JGE. Added a tiled image for the task board, which loads conservatively (I tried 128x128, but it didn't look as good).
60 lines
1020 B
C++
60 lines
1020 B
C++
#ifndef _GAME_STATE_H_
|
|
#define _GAME_STATE_H_
|
|
|
|
#define FADING_SPEED 350.0f
|
|
|
|
class JGE;
|
|
|
|
#include <JSoundSystem.h>
|
|
#include <string>
|
|
using namespace std;
|
|
|
|
enum ENUM_GAME_STATE
|
|
{
|
|
GAME_STATE_NONE = -1,
|
|
GAME_STATE_MENU = 1,
|
|
GAME_STATE_DUEL = 2,
|
|
GAME_STATE_DECK_VIEWER = 3,
|
|
GAME_STATE_SHOP = 4,
|
|
GAME_STATE_OPTIONS = 5,
|
|
GAME_STATE_AWARDS = 6,
|
|
GAME_STATE_TRANSITION = 7,
|
|
GAME_STATE_MAX = 8,
|
|
};
|
|
|
|
enum ENUM_GS_TRANSITION
|
|
{
|
|
TRANSITION_FADE = 0,
|
|
TRANSITION_FADE_IN = 1,
|
|
MAX_TRANSITION
|
|
};
|
|
|
|
class GameApp;
|
|
class SimpleMenu;
|
|
class Player;
|
|
|
|
class GameState
|
|
{
|
|
protected:
|
|
GameApp* mParent;
|
|
JGE* mEngine;
|
|
|
|
public:
|
|
GameState(GameApp* parent);
|
|
virtual ~GameState() {}
|
|
|
|
virtual void Create() {}
|
|
virtual void Destroy() {}
|
|
|
|
virtual void Start() {}
|
|
virtual void End() {}
|
|
|
|
virtual void Update(float dt) = 0;
|
|
virtual void Render() = 0;
|
|
static int fillDeckMenu(SimpleMenu * _menu, string path, string smallDeckPrefix = "", Player * statsPlayer = NULL);
|
|
};
|
|
|
|
|
|
#endif
|
|
|