|  | Pyrogenesis HEAD
    Pyrogenesis, a RTS Engine | 
The container that holds the rules, resources and attributes of the game. More...
#include <Game.h>

| Public Member Functions | |
| CGame (bool replayLog) | |
| 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 OsPath &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) | 
| bool | IsGameFinished () const | 
| Check if the game is finished by testing if there's a winner.  More... | |
| void | CachePlayerColors () | 
| Retrieving player colors from scripts is slow, so this updates an internal cache of all players' colors.  More... | |
| const 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 | 
| OsPath | 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 (const std::string &savedState) | 
| 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 | 
| bool | m_IsSavedGame | 
| OsPath | m_ReplayPath | 
| bool | m_IsVisualReplay | 
| std::istream * | m_ReplayStream | 
| u32 | m_FinalReplayTurn | 
| Static Private Attributes | |
| static const CStr | EventNameSimulationUpdate = "SimulationUpdate" | 
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 | replayLog | ) | 
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.
| const 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 | ||
| ) | 
| bool CGame::IsGameFinished | ( | ) | const | 
Check if the game is finished by testing if there's a winner.
It is used to end a non visual autostarted game.
| 
 | 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 OsPath & | 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. | 
| 
 | staticprivate | 
| 
 | 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 | 
| 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.