Files
wagic/projects/mtg/include/GameApp.h
Anthony Calosa ff6e4aec9a adjust stack display & game credits
the stack will display the latest object always on TOP so we can see
which will resolve first, the last to resolve will always be on
bottom... also increase credit bonus. default is 500 credits and for
momir will be 800 credits.
2017-03-08 13:38:19 +08:00

91 lines
1.9 KiB
C++

/*
* Wagic, The Homebrew ?! is licensed under the BSD license
* See LICENSE in the Folder's root
* http://wololo.net/wagic/
*/
#ifndef _GAMEAPP_H_
#define _GAMEAPP_H_
#include <JApp.h>
#include <JGE.h>
#include <JSprite.h>
#include <JLBFont.h>
#include <hge/hgeparticle.h>
#include "WResourceManager.h"
#include "GameState.h"
#include "MTGDeck.h"
#include "MTGCard.h"
#include "MTGGameZones.h"
#ifdef NETWORK_SUPPORT
#include "JNetwork.h"
#endif //NETWORK_SUPPORT
#include "GameObserver.h"
#include "Wagic_Version.h"
class Rules;
class MTGAllCards;
class TransitionBase;
class GameApp: public JApp
{
private:
#ifdef DEBUG
int nbUpdates;
float totalFPS;
#endif
bool mShowDebugInfo;
int mScreenShotCount;
GameState* mCurrentState;
GameState* mNextState;
GameState* mGameStates[GAME_STATE_MAX];
public:
GameType gameType;
Rules * rules;
#ifdef NETWORK_SUPPORT
string mServerAddress;
JNetwork* mpNetwork;
#endif //NETWORK_SUPPORT
GameApp();
virtual ~GameApp();
virtual void Create();
virtual void Destroy();
virtual void Update();
virtual void Render();
virtual void Pause();
virtual void Resume();
virtual void OnScroll(int inXVelocity, int inYVelocity);
void LoadGameStates();
void SetNextState(int state);
void SetCurrentState(GameState * state);
void DoTransition(int trans, int tostate, float dur = -1, bool animonly = false);
void DoAnimation(int trans, float dur = -1);
static hgeParticleSystem * Particles[6];
static bool HasMusic;
static string systemError;
static char mynbcardsStr[512];
static int mycredits;
static JMusic* music;
static string currentMusicFile;
static void playMusic(string filename = "", bool loop = true);
static void stopMusic();
static void pauseMusic();
static void resumeMusic();
static PlayerType players[2];
};
extern vector<JQuadPtr> manaIcons;
#endif