dEngine
Simple 2D C++ game engine
|
The base level of the engine. More...
#include <Game.h>
Public Member Functions | |
Game () | |
GameLevel & | GetCurrentState () |
Retrieves the current GameLevel. More... | |
void | Push (GameLevel *state) |
Pushes a new GameLevel onto the internal stack. More... | |
void | Pop () |
Pops a level from the internal stack. More... | |
void | loop () |
The game loop. More... | |
void | cleanup () |
SDL_Renderer * | GetRenderer () |
template<typename T > | |
bool | SaveState (Serializer< T > *serializer) |
template<typename T > | |
bool | LoadState (Serializer< T > *serializer) |
UI * | GetUI () |
EventSystem * | GetEventSystem () |
Static Public Member Functions | |
static Game & | GetInstance () |
Public Attributes | |
SDL_Window * | window = NULL |
Private Attributes | |
UI * | ui |
EventSystem * | eventSystem |
SDL_Renderer * | renderer |
std::stack< std::unique_ptr< GameLevel > > | stateStack |
GameLevel * | storedState |
Static Private Attributes | |
static Game * | instance |
The base level of the engine.
A Game is the most bottom level of the game engine. The game controls the game loop, managing state, and others. For individual developers there shouldn't be a need to inherit from or overwrite this class.
Game::Game | ( | ) |
Referenced by GetInstance().
void Game::cleanup | ( | ) |
Frees up any allocated resources
Referenced by loop().
EventSystem * Game::GetEventSystem | ( | ) |
|
static |
Returns an instance of the current game
Referenced by dengine::CameraManager::GetMainCamera(), dengine::Sprite::Render(), dengine::SpriteSheet::Render(), dengine::Sprite::Sprite(), and dengine::SpriteSheet::SpriteSheet().
SDL_Renderer * Game::GetRenderer | ( | ) |
Returns the current game's renderer
Referenced by dengine::SpriteSheet::Render().
bool dengine::Game::LoadState | ( | Serializer< T > * | serializer | ) |
Loads a state from a file and sets the games state
serializer | The serializer to use for loading |
void Game::loop | ( | ) |
The game loop.
void Game::Pop | ( | ) |
Pops a level from the internal stack.
Referenced by loop().
bool dengine::Game::SaveState | ( | Serializer< T > * | serializer | ) |
Saves the current game state to a file
serializer | The serializer to use for saving |
|
private |
Referenced by Game(), GetEventSystem(), and loop().
|
staticprivate |
Referenced by Game(), and GetInstance().
|
private |
Referenced by Game(), GetRenderer(), and loop().
|
private |
Referenced by GetCurrentState(), loop(), and Pop().