Pyrogenesis
trunk
|
The container that holds the rules, resources and attributes of the game. More...
#include <Game.h>
Public Member Functions | |
CGame (bool disableGraphics=false, bool replayLog=true) | |
Constructor. More... | |
~CGame () | |
Destructor. More... | |
void | StartGame (JS::MutableHandleValue attribs, const std::string &savedState) |
PSRETURN | ReallyStartGame () |
Game initialization has been completed. More... | |
bool | StartVisualReplay (const std::string &replayPath) |
void | Update (const double deltaRealTime, bool doInterpolate=true) |
Periodic heartbeat that controls the process. More... | |
void | Interpolate (float simFrameLength, float realFrameLength) |
int | GetPlayerID () |
void | SetPlayerID (player_id_t playerID) |
int | GetViewedPlayerID () |
void | SetViewedPlayerID (player_id_t playerID) |
void | CachePlayerColors () |
Retrieving player colors from scripts is slow, so this updates an internal cache of all players' colors. More... | |
CColor | GetPlayerColor (player_id_t player) const |
bool | IsGameStarted () const |
Get m_GameStarted. More... | |
bool | IsVisualReplay () const |
Get m_IsVisualReplay. More... | |
CWorld * | GetWorld () |
Get the pointer to the game world object. More... | |
CGameView * | GetView () |
Get the pointer to the game view object. More... | |
CSimulation2 * | GetSimulation2 () |
Get the pointer to the simulation2 object. More... | |
void | SetSimRate (float simRate) |
Set the simulation scale multiplier. More... | |
float | GetSimRate () const |
std::string | GetReplayPath () const |
void | SetTurnManager (CTurnManager *turnManager) |
Replace the current turn manager. More... | |
CTurnManager * | GetTurnManager () const |
IReplayLogger & | GetReplayLogger () const |
Public Attributes | |
bool | m_Paused |
the game is paused and no updates will be performed if true. More... | |
Private Member Functions | |
NONCOPYABLE (CGame) | |
void | RegisterInit (const JS::HandleValue attribs, const std::string &savedState) |
Initializes the game with the set of attributes provided. More... | |
int | LoadInitialState () |
int | LoadVisualReplayData () |
Private Attributes | |
CWorld * | m_World |
pointer to the CWorld object representing the game world. More... | |
CSimulation2 * | m_Simulation2 |
pointer to the CSimulation2 object operating on the game world. More... | |
CGameView * | m_GameView |
pointer to the CGameView object representing the view into the game world. More... | |
bool | m_GameStarted |
the game has been initialized and ready for use if true. More... | |
float | m_SimRate |
Timescale multiplier for simulation rate. More... | |
player_id_t | m_PlayerID |
Index assigned to the current player. More... | |
player_id_t | m_ViewedPlayerID |
Differs from m_PlayerID if a defeated player or observer views another player. More... | |
CTurnManager * | m_TurnManager |
IReplayLogger * | m_ReplayLogger |
std::vector< CColor > | m_PlayerColors |
std::string | m_InitialSavedState |
bool | m_IsSavedGame |
std::string | m_ReplayPath |
bool | m_IsVisualReplay |
std::istream * | m_ReplayStream |
u32 | m_FinalReplayTurn |
The container that holds the rules, resources and attributes of the game.
The CGame object is responsible for creating a game that is defined by a set of attributes provided. The CGame object is also responsible for maintaining the relations between CPlayer and CWorld, CSimulation and CWorld.
CGame::CGame | ( | bool | disableGraphics = false , |
bool | replayLog = true |
||
) |
Constructor.
CGame::~CGame | ( | ) |
Destructor.
void CGame::CachePlayerColors | ( | ) |
Retrieving player colors from scripts is slow, so this updates an internal cache of all players' colors.
Call this just before rendering, so it will always have the latest colors.
CColor CGame::GetPlayerColor | ( | player_id_t | player | ) | const |
int CGame::GetPlayerID | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
Get the pointer to the simulation2 object.
|
inline |
|
inline |
Get the pointer to the game view object.
int CGame::GetViewedPlayerID | ( | ) |
|
inline |
Get the pointer to the game world object.
void CGame::Interpolate | ( | float | simFrameLength, |
float | realFrameLength | ||
) |
|
inline |
Get m_GameStarted.
|
inline |
Get m_IsVisualReplay.
|
private |
|
private |
|
private |
PSRETURN CGame::ReallyStartGame | ( | ) |
Game initialization has been completed.
Set game started flag and start the session.
|
private |
Initializes the game with the set of attributes provided.
Makes calls to initialize the game view, world, and simulation objects. Calls are made to facilitate progress reporting of the initialization.
void CGame::SetPlayerID | ( | player_id_t | playerID | ) |
|
inline |
Set the simulation scale multiplier.
simRate | Float value to set m_SimRate to. Because m_SimRate is also used to scale TimeSinceLastFrame it must be clamped to 0.0f. |
void CGame::SetTurnManager | ( | CTurnManager * | turnManager | ) |
Replace the current turn manager.
This class will take ownership of the pointer.
void CGame::SetViewedPlayerID | ( | player_id_t | playerID | ) |
void CGame::StartGame | ( | JS::MutableHandleValue | attribs, |
const std::string & | savedState | ||
) |
bool CGame::StartVisualReplay | ( | const std::string & | replayPath | ) |
void CGame::Update | ( | const double | deltaRealTime, |
bool | doInterpolate = true |
||
) |
Periodic heartbeat that controls the process.
performs all per-frame updates. Simulation update is called and game status update is called.
deltaRealTime | Elapsed real time since last beat/frame, in seconds. |
doInterpolate | Perform graphics interpolation if true. |
|
private |
|
private |
the game has been initialized and ready for use if true.
|
private |
pointer to the CGameView object representing the view into the game world.
|
private |
|
private |
|
private |
bool CGame::m_Paused |
the game is paused and no updates will be performed if true.
|
private |
|
private |
Index assigned to the current player.
1-8 to control players, 0 for gaia, -1 for observer.
|
private |
|
private |
|
private |
|
private |
Timescale multiplier for simulation rate.
|
private |
pointer to the CSimulation2 object operating on the game world.
|
private |
|
private |
Differs from m_PlayerID if a defeated player or observer views another player.