Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
GameEngine Class Reference

Main game engine singleton. More...

#include <GameEngine.h>

+ Collaboration diagram for GameEngine:

Public Member Functions

 GameEngine ()
 Constructor for GameEngine.
 
virtual ~GameEngine ()
 Destructor for GameEngine.
 
void Initialize ()
 Initialize all engine subsystems.
 
void Process ()
 Process one frame.
 
SDL_RendererGetMainRenderer () const
 Get the main SDL renderer.
 

Static Public Member Functions

static GameEngineGetInstance ()
 Get singleton instance.
 
static GameEngineGet ()
 Get singleton instance (short form)
 

Public Attributes

string name = ""
 Engine name identifier.
 
InputsManagerptr_inputsmanager = nullptr
 Pointer to input manager subsystem.
 
SystemMenuptr_systemmenu = nullptr
 Pointer to system menu subsystem.
 
VideoGameptr_videogame = nullptr
 Pointer to video game subsystem.
 
OptionsManagerptr_optionsmanager = nullptr
 Pointer to options manager subsystem.
 
DataManagerptr_datamanager = nullptr
 Pointer to data manager subsystem.
 
InputsManagerinputsmanager = *ptr_inputsmanager
 Reference to input manager.
 
SystemMenusystemmenu = *ptr_systemmenu
 Reference to system menu.
 
VideoGamevideogame = *ptr_videogame
 Reference to video game.
 
OptionsManageroptionsmanager = *ptr_optionsmanager
 Reference to options manager.
 
DataManagerdatamanager = *ptr_datamanager
 Reference to data manager.
 

Static Public Attributes

static float fDt = 0.0f
 Delta time between frames in seconds.
 
static int screenWidth = 1280
 Screen width in pixels.
 
static int screenHeight = 720
 Screen height in pixels.
 
static SDL_Rendererrenderer = nullptr
 Main SDL renderer.
 

Detailed Description

Main game engine singleton.

Manages all subsystems including input, rendering, and world management. Handles the main game loop timing via delta time calculation.

Definition at line 31 of file GameEngine.h.

Constructor & Destructor Documentation

◆ GameEngine()

GameEngine::GameEngine ( )
inline

Constructor for GameEngine.

Definition at line 37 of file GameEngine.h.

References name, and SYSTEM_LOG.

◆ ~GameEngine()

virtual GameEngine::~GameEngine ( )
inlinevirtual

Destructor for GameEngine.

Definition at line 46 of file GameEngine.h.

References SYSTEM_LOG.

Member Function Documentation

◆ Get()

static GameEngine & GameEngine::Get ( )
inlinestatic

Get singleton instance (short form)

Returns
Reference to GameEngine instance

Definition at line 66 of file GameEngine.h.

References GetInstance().

Referenced by SDL_AppInit(), and SDL_AppIterate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetInstance()

static GameEngine & GameEngine::GetInstance ( )
inlinestatic

Get singleton instance.

Returns
Reference to GameEngine instance

Definition at line 56 of file GameEngine.h.

References GetComponentTypeID_Static().

Referenced by Get(), and SDL_AppInit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetMainRenderer()

SDL_Renderer * GameEngine::GetMainRenderer ( ) const
inline

Get the main SDL renderer.

Returns
Pointer to SDL_Renderer

Definition at line 135 of file GameEngine.h.

References renderer.

◆ Initialize()

void GameEngine::Initialize ( )

◆ Process()

void GameEngine::Process ( )

Process one frame.

Calculates delta time and updates all systems.

Definition at line 79 of file GameEngine.cpp.

References fDt, and GetComponentTypeID_Static().

Referenced by SDL_AppIterate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ datamanager

DataManager& GameEngine::datamanager = *ptr_datamanager

Reference to data manager.

Definition at line 117 of file GameEngine.h.

◆ fDt

float GameEngine::fDt = 0.0f
static

◆ inputsmanager

InputsManager& GameEngine::inputsmanager = *ptr_inputsmanager

Reference to input manager.

Definition at line 105 of file GameEngine.h.

◆ name

string GameEngine::name = ""

Engine name identifier.

Definition at line 87 of file GameEngine.h.

Referenced by GameEngine().

◆ optionsmanager

OptionsManager& GameEngine::optionsmanager = *ptr_optionsmanager

Reference to options manager.

Definition at line 114 of file GameEngine.h.

◆ ptr_datamanager

DataManager* GameEngine::ptr_datamanager = nullptr

Pointer to data manager subsystem.

Definition at line 102 of file GameEngine.h.

Referenced by Initialize().

◆ ptr_inputsmanager

InputsManager* GameEngine::ptr_inputsmanager = nullptr

Pointer to input manager subsystem.

Definition at line 90 of file GameEngine.h.

Referenced by Initialize().

◆ ptr_optionsmanager

OptionsManager* GameEngine::ptr_optionsmanager = nullptr

Pointer to options manager subsystem.

Definition at line 99 of file GameEngine.h.

Referenced by Initialize().

◆ ptr_systemmenu

SystemMenu* GameEngine::ptr_systemmenu = nullptr

Pointer to system menu subsystem.

Definition at line 93 of file GameEngine.h.

Referenced by Initialize().

◆ ptr_videogame

VideoGame* GameEngine::ptr_videogame = nullptr

Pointer to video game subsystem.

Definition at line 96 of file GameEngine.h.

Referenced by Initialize().

◆ renderer

SDL_Renderer * GameEngine::renderer = nullptr
static

◆ screenHeight

int GameEngine::screenHeight = 720
static

◆ screenWidth

int GameEngine::screenWidth = 1280
static

◆ systemmenu

SystemMenu& GameEngine::systemmenu = *ptr_systemmenu

Reference to system menu.

Definition at line 108 of file GameEngine.h.

◆ videogame

VideoGame& GameEngine::videogame = *ptr_videogame

Reference to video game.

Definition at line 111 of file GameEngine.h.


The documentation for this class was generated from the following files: