OGL Engine 1.2.0-dev
Loading...
Searching...
No Matches
system.hpp
Go to the documentation of this file.
1
8#pragma once
9
10#include "../constants.hpp"
11#include <set>
12
13#include "registry.hpp"
14
15namespace Engine {
16 class App; // Définition en avance. Pas possible d'inclure app.hpp pour éviter les dépendances circulaires
17}
18
19namespace Engine::ECS {
24 class System {
25 // On veut que App puisse accéder aux champs private du System
26 friend class Engine::App;
27
28 private:
37 Registry* mRegistry;
42 Engine::App* mApp;
43
45 bool mPaused = false;
46
47 public:
53 Registry& GetRegistry() { return *mRegistry; }
59 Engine::App& GetApp() { return *mApp; }
60
62 void Resume() { mPaused = false; }
64 void Pause() { mPaused = true; }
71 bool IsPaused() { return mPaused; }
72
73 virtual ~System() = default;
74
80 virtual void OnInit() {}
89 virtual void OnFixedUpdate(float deltaTime) {}
97 virtual void OnUpdate(float deltaTime) {}
103 virtual void OnRender(float alpha = 0.0f) {}
105 virtual void OnUIRender() {}
113 virtual void OnLateUpdate(float deltaTime) {}
114 };
115}
Point d'entrée d'une application. Gère les différents systèmes associés au moteur de jeu.
Definition app.hpp:40
Classe Registre qui stocke des composants et gère l'attribution des IDs d'entités.
Definition registry.hpp:32
La classe System implémente une logique spécifique à des composants.
Definition system.hpp:24
virtual void OnInit()
Fonction d'initialisation dans le cycle de vie de l'app.
Definition system.hpp:80
void Resume()
Passe le booléen "mPaused" a false.
Definition system.hpp:62
virtual void OnLateUpdate(float deltaTime)
Fonction d'update tardive appelée à la fin de la boucle.
Definition system.hpp:113
virtual void OnFixedUpdate(float deltaTime)
Fonction d'update fixe dans le cycle de vie.
Definition system.hpp:89
bool IsPaused()
Vérifie si le système est en pause.
Definition system.hpp:71
virtual void OnUIRender()
Fonction appelée après le rendu de l'interface à l'écran.
Definition system.hpp:105
virtual ~System()=default
Registry & GetRegistry()
Renvoie le registre actif.
Definition system.hpp:53
Engine::App & GetApp()
Renvoie l'objet App principal.
Definition system.hpp:59
virtual void OnRender(float alpha=0.0f)
Fonction appelée au rendu à l'écran.
Definition system.hpp:103
virtual void OnUpdate(float deltaTime)
Fonction d'update variable dans le cycle de vie.
Definition system.hpp:97
void Pause()
Passe le booléen "mPaused" a true.
Definition system.hpp:64
Définit des constantes utilisables un peu partout dans le code du moteur.
Definition component.hpp:11
Definition app.cpp:14
Définit le rôle du Registre dans l'architecture ECS.