OGL Engine 1.2.0-dev
Loading...
Searching...
No Matches
Engine::Scene::Scene Class Reference

Classe qui encapsule un registre de composants ECS, et des fonctions de lifcecycle. More...

#include <scene.hpp>

Public Member Functions

 Scene ()
 Construit une nouvelle scène.
 ~Scene ()=default
ECS::RegistryGetRegistry ()
 Renvoie le registre ECS de la scène.
ICameraGetCamera ()
 Renvoie la caméra principale de la scène.
AppGetApp ()
 Renvoie une référence à l'Application courante.
template<typename EventType>
void AddEventListener (Core::EventDispatcher::EventCallback< EventType > callback)
 Permet d'ajouter un listener aux évènements de la scène.
template<typename EventType>
void EmitEvent (EventType *event)
 Emet un évènement dans le contexte de la scène.
ECS::Entity CreateEntity (PrimitiveType type=PrimitiveType::Empty)
 Créé une nouvelle entité dans le registre de la scène courante.
template<typename... Components>
ECS::Entity CreateEntityWith ()
 Créé une entité en lui ajoutant au passage une liste de components.
void DestroyEntity (EntityID entityID)
 Détruit une entité donnée.
virtual void OnEnter ()
 Callback appelé au lorsque cette scène est chargée comme scène courante.
virtual void OnExit ()
 Callback appelé lorsqu'une autre scène prend la place de scène courante.
virtual void OnInit ()
virtual void OnFixedUpdate (float deltaTime)
virtual void OnUpdate (float deltaTime)
virtual void OnRender (float alpha=0.0f)
virtual void OnUIRender ()
virtual void OnLateUpdate (float deltaTime)

Friends

class App

Detailed Description

Classe qui encapsule un registre de composants ECS, et des fonctions de lifcecycle.

Constructor & Destructor Documentation

◆ Scene()

Engine::Scene::Scene::Scene ( )

Construit une nouvelle scène.

◆ ~Scene()

Engine::Scene::Scene::~Scene ( )
default

Member Function Documentation

◆ AddEventListener()

template<typename EventType>
void Engine::Scene::Scene::AddEventListener ( Core::EventDispatcher::EventCallback< EventType > callback)
inline

Permet d'ajouter un listener aux évènements de la scène.

Template Parameters
EventType
Parameters
callback

◆ CreateEntity()

ECS::Entity Engine::Scene::Scene::CreateEntity ( PrimitiveType type = PrimitiveType::Empty)

Créé une nouvelle entité dans le registre de la scène courante.

Returns
ECS::Entity

◆ CreateEntityWith()

template<typename... Components>
ECS::Entity Engine::Scene::Scene::CreateEntityWith ( )
inline

Créé une entité en lui ajoutant au passage une liste de components.

Template Parameters
Components
Returns
ECS::Entity

◆ DestroyEntity()

void Engine::Scene::Scene::DestroyEntity ( EntityID entityID)

Détruit une entité donnée.

Parameters
entityID

◆ EmitEvent()

template<typename EventType>
void Engine::Scene::Scene::EmitEvent ( EventType * event)
inline

Emet un évènement dans le contexte de la scène.

Template Parameters
EventType
Parameters
event

◆ GetApp()

App & Engine::Scene::Scene::GetApp ( )

Renvoie une référence à l'Application courante.

Returns
App&

◆ GetCamera()

ICamera * Engine::Scene::Scene::GetCamera ( )

Renvoie la caméra principale de la scène.

Returns
ICamera*

◆ GetRegistry()

ECS::Registry * Engine::Scene::Scene::GetRegistry ( )

Renvoie le registre ECS de la scène.

Returns
ECS::Registry*

◆ OnEnter()

virtual void Engine::Scene::Scene::OnEnter ( )
inlinevirtual

Callback appelé au lorsque cette scène est chargée comme scène courante.

◆ OnExit()

virtual void Engine::Scene::Scene::OnExit ( )
inlinevirtual

Callback appelé lorsqu'une autre scène prend la place de scène courante.

◆ OnFixedUpdate()

virtual void Engine::Scene::Scene::OnFixedUpdate ( float deltaTime)
inlinevirtual

◆ OnInit()

virtual void Engine::Scene::Scene::OnInit ( )
inlinevirtual

◆ OnLateUpdate()

virtual void Engine::Scene::Scene::OnLateUpdate ( float deltaTime)
inlinevirtual

◆ OnRender()

virtual void Engine::Scene::Scene::OnRender ( float alpha = 0.0f)
inlinevirtual

◆ OnUIRender()

virtual void Engine::Scene::Scene::OnUIRender ( )
inlinevirtual

◆ OnUpdate()

virtual void Engine::Scene::Scene::OnUpdate ( float deltaTime)
inlinevirtual

◆ App

friend class App
friend

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