84 template<
typename EventType>
86 mEventDispatcher.Subscribe<EventType>(callback);
95 template<
typename EventType>
97 mEventDispatcher.Emit<EventType>(event);
114 template<
typename... Components>
Point d'entrée d'une application. Gère les différents systèmes associés au moteur de jeu.
Definition app.hpp:40
EventDispatcher enregistre des listeners, émet des évènements, et appelle des callbacks.
Definition event.hpp:27
std::function< void(EventType &)> EventCallback
Spécifie un nom pour les fonctions de callbacks typés (par event)
Definition event.hpp:40
Une entité est l'élément "atomique" utilisé dans l'architecture ECS pour référencer les composants.
Definition entity.hpp:19
T & AddComponent(Args &&... args)
Ajoute un component de type T au registre, référencé sous l'entityID de cette entité
Definition entity.hpp:95
Classe Registre qui stocke des composants et gère l'attribution des IDs d'entités.
Definition registry.hpp:32
virtual void OnExit()
Callback appelé lorsqu'une autre scène prend la place de scène courante.
Definition scene.hpp:135
App & GetApp()
Renvoie une référence à l'Application courante.
Definition scene.cpp:16
ECS::Registry * GetRegistry()
Renvoie le registre ECS de la scène.
Definition scene.cpp:14
void EmitEvent(EventType *event)
Emet un évènement dans le contexte de la scène.
Definition scene.hpp:96
virtual void OnUIRender()
Definition scene.hpp:142
virtual void OnRender(float alpha=0.0f)
Definition scene.hpp:141
virtual void OnEnter()
Callback appelé au lorsque cette scène est chargée comme scène courante.
Definition scene.hpp:130
ECS::Entity CreateEntity(PrimitiveType type=PrimitiveType::Empty)
Créé une nouvelle entité dans le registre de la scène courante.
Definition scene.cpp:18
void DestroyEntity(EntityID entityID)
Détruit une entité donnée.
Definition scene.cpp:48
ECS::Entity CreateEntityWith()
Créé une entité en lui ajoutant au passage une liste de components.
Definition scene.hpp:115
ICamera * GetCamera()
Renvoie la caméra principale de la scène.
Definition scene.cpp:15
friend class App
Definition scene.hpp:37
virtual void OnUpdate(float deltaTime)
Definition scene.hpp:140
Scene()
Construit une nouvelle scène.
Definition scene.cpp:10
virtual void OnLateUpdate(float deltaTime)
Definition scene.hpp:143
virtual void OnInit()
Definition scene.hpp:138
virtual void OnFixedUpdate(float deltaTime)
Definition scene.hpp:139
void AddEventListener(Core::EventDispatcher::EventCallback< EventType > callback)
Permet d'ajouter un listener aux évènements de la scène.
Definition scene.hpp:85
Définit des types de données utilisés dans le moteur.
Décrit le fonctionnement de l'entité dans une architecture ECS.
Fichier qui recense les structures et classes de données nécessaires à la gestion d'évènements Permet...
Definition registry.hpp:23
PrimitiveType
Les PrimitiveType sont des types d'entités préfabriquées.
Definition scene.hpp:26
@ Sprite
Definition scene.hpp:29
@ Text
Definition scene.hpp:30
@ Empty
Definition scene.hpp:27
@ Quad
Definition scene.hpp:28
std::uint32_t EntityID
Définition de type pour mieux identifier les EntityID.
Definition defs.hpp:13
Définit le rôle du Registre dans l'architecture ECS.