No Name Engine
NoNameEngine est un moteur de jeu basé sur un système Entity Component System (ECS) utilisant Vulkan pour le rendu.
Loading...
Searching...
No Matches
NNE::Systems::Application Class Reference
Collaboration diagram for NNE::Systems::Application:

Public Member Functions

 Application ()
 Construit l'application et initialise les systèmes principaux.
 ~Application ()
 Nettoie les ressources utilisées par l'application.
void Init ()
 Prépare l'application et démarre les différents systèmes.
void Update ()
 Exécute la boucle principale de mise à jour.
void Open ()
 Crée la fenêtre et initialise les entrées.
void Quit ()
 Ferme proprement l'application.
int GenerateID ()
 Génère un identifiant unique pour les entités.
NNE::AEntityCreateEntity ()
 Crée une nouvelle entité gérée par l'application.
void RegisterCollider (JPH::BodyID id, NNE::Component::Physics::ColliderComponent *collider)
 Associe un collider à son identifiant physique.
NNE::Component::Physics::ColliderComponentGetCollider (JPH::BodyID id)
 Récupère le collider lié à un identifiant physique.
void UnregisterCollider (JPH::BodyID id)
 Retire un collider du suivi par identifiant.

Static Public Member Functions

static ApplicationGetInstance ()
 Retourne l'instance unique de l'application.

Public Attributes

const uint32_t WIDTH = 960
const uint32_t HEIGHT = 540
NNE::Systems::VulkanManagerVKManager
NNE::Systems::PhysicsSystemphysicsSystem
NNE::Systems::RenderSystemrenderSystem
NNE::Systems::InputSysteminputSystem
NNE::Systems::ScriptSystemscriptSystem
std::vector< NNE::AEntity * > _entities
std::vector< NNE::Systems::ISystem * > & _systems
std::unordered_map< JPH::BodyID, NNE::Component::Physics::ColliderComponent * > colliderMap

Protected Member Functions

float GetDeltaTime ()
 Calcule le temps écoulé entre deux frames.

Protected Attributes

std::map< int, int > _link
float delta

Static Protected Attributes

static ApplicationInstance = nullptr
static int _genericID = 0

Detailed Description

Definition at line 23 of file Application.h.

Constructor & Destructor Documentation

◆ Application()

NNE::Systems::Application::Application ( )

Construit l'application et initialise les systèmes principaux.

Construit l'application et crée les systèmes principaux.

Definition at line 13 of file Application.cpp.

◆ ~Application()

NNE::Systems::Application::~Application ( )

Nettoie les ressources utilisées par l'application.

Libère toutes les ressources allouées par l'application.

Definition at line 34 of file Application.cpp.

Member Function Documentation

◆ CreateEntity()

NNE::AEntity * NNE::Systems::Application::CreateEntity ( )

Crée une nouvelle entité gérée par l'application.

Crée et enregistre une entité dans l'application.

Definition at line 167 of file Application.cpp.

◆ GenerateID()

int NNE::Systems::Application::GenerateID ( )

Génère un identifiant unique pour les entités.

Fournit un nouvel identifiant unique.

Definition at line 156 of file Application.cpp.

◆ GetCollider()

NNE::Component::Physics::ColliderComponent * NNE::Systems::Application::GetCollider ( JPH::BodyID id)
inline

Récupère le collider lié à un identifiant physique.

Definition at line 130 of file Application.h.

◆ GetDeltaTime()

float NNE::Systems::Application::GetDeltaTime ( )
protected

Calcule le temps écoulé entre deux frames.

Calcule le temps écoulé depuis la dernière frame.

Definition at line 179 of file Application.cpp.

◆ GetInstance()

NNE::Systems::Application * NNE::Systems::Application::GetInstance ( )
static

Retourne l'instance unique de l'application.

Accède à l'instance unique de l'application.

Definition at line 193 of file Application.cpp.

◆ Init()

void NNE::Systems::Application::Init ( )

Prépare l'application et démarre les différents systèmes.

Initialise l'application et démarre les systèmes et entités.

Definition at line 77 of file Application.cpp.

◆ Open()

void NNE::Systems::Application::Open ( )

Crée la fenêtre et initialise les entrées.

Ouvre la fenêtre principale et prépare les entrées.

Definition at line 135 of file Application.cpp.

◆ Quit()

void NNE::Systems::Application::Quit ( )

Ferme proprement l'application.

Termine l'application en fermant les bibliothèques utilisées.

Definition at line 146 of file Application.cpp.

◆ RegisterCollider()

void NNE::Systems::Application::RegisterCollider ( JPH::BodyID id,
NNE::Component::Physics::ColliderComponent * collider )
inline

Associe un collider à son identifiant physique.

Definition at line 121 of file Application.h.

◆ UnregisterCollider()

void NNE::Systems::Application::UnregisterCollider ( JPH::BodyID id)
inline

Retire un collider du suivi par identifiant.

Definition at line 140 of file Application.h.

◆ Update()

void NNE::Systems::Application::Update ( )

Exécute la boucle principale de mise à jour.

Fait tourner la boucle principale de l'application.

Definition at line 102 of file Application.cpp.

Member Data Documentation

◆ _entities

std::vector<NNE::AEntity*> NNE::Systems::Application::_entities

Definition at line 72 of file Application.h.

◆ _genericID

int NNE::Systems::Application::_genericID = 0
staticprotected

Definition at line 38 of file Application.h.

◆ _link

std::map<int, int> NNE::Systems::Application::_link
protected

Definition at line 27 of file Application.h.

◆ _systems

std::vector<NNE::Systems::ISystem*>& NNE::Systems::Application::_systems

Definition at line 73 of file Application.h.

◆ colliderMap

std::unordered_map<JPH::BodyID, NNE::Component::Physics::ColliderComponent*> NNE::Systems::Application::colliderMap

Definition at line 114 of file Application.h.

◆ delta

float NNE::Systems::Application::delta
protected

Definition at line 30 of file Application.h.

◆ HEIGHT

const uint32_t NNE::Systems::Application::HEIGHT = 540

Definition at line 48 of file Application.h.

◆ inputSystem

NNE::Systems::InputSystem* NNE::Systems::Application::inputSystem

Definition at line 70 of file Application.h.

◆ Instance

NNE::Systems::Application * NNE::Systems::Application::Instance = nullptr
staticprotected

Definition at line 28 of file Application.h.

◆ physicsSystem

NNE::Systems::PhysicsSystem* NNE::Systems::Application::physicsSystem

Definition at line 68 of file Application.h.

◆ renderSystem

NNE::Systems::RenderSystem* NNE::Systems::Application::renderSystem

Definition at line 69 of file Application.h.

◆ scriptSystem

NNE::Systems::ScriptSystem* NNE::Systems::Application::scriptSystem

Definition at line 71 of file Application.h.

◆ VKManager

NNE::Systems::VulkanManager* NNE::Systems::Application::VKManager

Definition at line 67 of file Application.h.

◆ WIDTH

const uint32_t NNE::Systems::Application::WIDTH = 960

Definition at line 47 of file Application.h.


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