![]() |
Olympe Engine 2.0
2D Game Engine with ECS Architecture
|
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_Renderer * | GetMainRenderer () const |
| Get the main SDL renderer. | |
Static Public Member Functions | |
| static GameEngine & | GetInstance () |
| Get singleton instance. | |
| static GameEngine & | Get () |
| Get singleton instance (short form) | |
Public Attributes | |
| string | name = "" |
| Engine name identifier. | |
| InputsManager * | ptr_inputsmanager = nullptr |
| Pointer to input manager subsystem. | |
| SystemMenu * | ptr_systemmenu = nullptr |
| Pointer to system menu subsystem. | |
| VideoGame * | ptr_videogame = nullptr |
| Pointer to video game subsystem. | |
| OptionsManager * | ptr_optionsmanager = nullptr |
| Pointer to options manager subsystem. | |
| DataManager * | ptr_datamanager = nullptr |
| Pointer to data manager subsystem. | |
| InputsManager & | inputsmanager = *ptr_inputsmanager |
| Reference to input manager. | |
| SystemMenu & | systemmenu = *ptr_systemmenu |
| Reference to system menu. | |
| VideoGame & | videogame = *ptr_videogame |
| Reference to video game. | |
| OptionsManager & | optionsmanager = *ptr_optionsmanager |
| Reference to options manager. | |
| DataManager & | datamanager = *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_Renderer * | renderer = nullptr |
| Main SDL renderer. | |
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.
|
inline |
Constructor for GameEngine.
Definition at line 37 of file GameEngine.h.
References name, and SYSTEM_LOG.
|
inlinevirtual |
|
inlinestatic |
Get singleton instance (short form)
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:
|
inlinestatic |
Get singleton 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:
|
inline |
Get the main SDL renderer.
Definition at line 135 of file GameEngine.h.
References renderer.
| void GameEngine::Initialize | ( | ) |
Initialize all engine subsystems.
Must be called once before using the engine. Initializes InputManager, DataManager, CameraSystem, etc.
Definition at line 32 of file GameEngine.cpp.
References CameraSystem::CreateCameraForPlayer(), OlympeAnimation::AnimationManager::Get(), DataManager::Get(), CameraEventHandler::Get(), World::Get(), GetComponentTypeID_Static(), DataManager::GetInstance(), InputsManager::GetInstance(), OptionsManager::GetInstance(), SystemMenu::GetInstance(), VideoGame::GetInstance(), World::GetSystem(), OlympeAnimation::AnimationManager::Init(), CameraEventHandler::Initialize(), OlympeAnimation::AnimationManager::LoadAnimationBanks(), OlympeAnimation::AnimationManager::LoadAnimationGraphs(), DataManager::PreloadSystemResources(), ptr_datamanager, ptr_inputsmanager, ptr_optionsmanager, ptr_systemmenu, ptr_videogame, and SYSTEM_LOG.
Referenced by SDL_AppInit().
Here is the call graph for this function:
Here is the caller graph for this function:| 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:| DataManager& GameEngine::datamanager = *ptr_datamanager |
Reference to data manager.
Definition at line 117 of file GameEngine.h.
|
static |
Delta time between frames in seconds.
Definition at line 120 of file GameEngine.h.
Referenced by ExecuteBTAction(), Process(), NavigationSystem::Process(), MovementSystem::Process(), PlayerControlSystem::Process(), OlympeEffectSystem::Process(), CameraSystem::Process(), AIStimuliSystem::Process(), AIPerceptionSystem::Process(), BehaviorTreeSystem::Process(), CameraSystem::ProcessKeyboardInput(), Olympe::BehaviorTreeDebugWindow::RenderInSeparateWindow(), SDL_AppIterate(), AIStateTransitionSystem::UpdateAIState(), AnimationSystem::UpdateEntity(), and vBlend().
| InputsManager& GameEngine::inputsmanager = *ptr_inputsmanager |
Reference to input manager.
Definition at line 105 of file GameEngine.h.
| string GameEngine::name = "" |
| OptionsManager& GameEngine::optionsmanager = *ptr_optionsmanager |
Reference to options manager.
Definition at line 114 of file GameEngine.h.
| DataManager* GameEngine::ptr_datamanager = nullptr |
Pointer to data manager subsystem.
Definition at line 102 of file GameEngine.h.
Referenced by Initialize().
| InputsManager* GameEngine::ptr_inputsmanager = nullptr |
Pointer to input manager subsystem.
Definition at line 90 of file GameEngine.h.
Referenced by Initialize().
| OptionsManager* GameEngine::ptr_optionsmanager = nullptr |
Pointer to options manager subsystem.
Definition at line 99 of file GameEngine.h.
Referenced by Initialize().
| SystemMenu* GameEngine::ptr_systemmenu = nullptr |
Pointer to system menu subsystem.
Definition at line 93 of file GameEngine.h.
Referenced by Initialize().
Pointer to video game subsystem.
Definition at line 96 of file GameEngine.h.
Referenced by Initialize().
|
static |
Main SDL renderer.
Definition at line 129 of file GameEngine.h.
Referenced by OlympeEffectSystem::Implementation::ApplyBloom(), OlympeEffectSystem::Implementation::ApplyGaussianBlur(), Draw_Circle(), Draw_FilledCircle(), Draw_FilledHexagon(), Draw_FilledTriangle(), Draw_Hexagon(), Draw_Rectangle(), Draw_Text(), Draw_Triangle(), GridSystem::DrawFilledRectWorld(), GridSystem::DrawHexagonOverlay(), GridSystem::DrawIsometricTileOverlay(), GridSystem::DrawLineWorld(), GetMainRenderer(), DataManager::GetTexture(), OlympeEffectSystem::Initialize(), World::InstantiatePass1_VisualLayers(), TilesetManager::LoadTilesets(), DataManager::PreloadTexture(), ViewportManager::Render(), RenderingSystem::Render(), RenderingEditorSystem::Render(), GridSystem::Render(), UIRenderingSystem::Render(), OlympeEffectSystem::Render(), _Sprite::Render(), OlympeEffectSystem::Implementation::RenderBackground(), GridSystem::RenderCollisionOverlay(), AI_Player::RenderDebug(), RenderEntitiesForCamera(), GridSystem::RenderForCamera(), UIRenderingSystem::RenderHUD(), UIRenderingSystem::RenderInGameMenu(), Olympe::Tiled::ParallaxLayerManager::RenderLayer(), GridSystem::RenderNavigationOverlay(), OlympeEffectSystem::Implementation::RenderPlasmaOrbs(), RenderSingleEntity(), RenderTileImmediate(), and SDL_AppInit().
|
static |
Screen height in pixels.
Definition at line 126 of file GameEngine.h.
Referenced by CameraSystem::CreateCameraForPlayer(), OlympeEffectSystem::Initialize(), LoadOlympeConfig(), UIRenderingSystem::RenderInGameMenu(), SDL_AppInit(), SDL_AppIterate(), VideoGame::VideoGame(), and ViewportManager::ViewportManager().
|
static |
Screen width in pixels.
Definition at line 123 of file GameEngine.h.
Referenced by CameraSystem::CreateCameraForPlayer(), OlympeEffectSystem::Initialize(), LoadOlympeConfig(), UIRenderingSystem::RenderInGameMenu(), SDL_AppInit(), VideoGame::VideoGame(), and ViewportManager::ViewportManager().
| SystemMenu& GameEngine::systemmenu = *ptr_systemmenu |
Reference to system menu.
Definition at line 108 of file GameEngine.h.
| VideoGame& GameEngine::videogame = *ptr_videogame |
Reference to video game.
Definition at line 111 of file GameEngine.h.