CEngine::Physics::AABB | Axis Aligned Bounding Box |
CEngine::App | Point d'entrée d'une application. Gère les différents systèmes associés au moteur de jeu |
CEngine::App::AppSettings | Structure de données qui contient des paramètres d'application |
CEngine::Audio::AudioManager | Classe statique qui gère tous les sons et la lecture audio dans le moteur Il faut juste appeler AudioManager::Init() une fois avant de pouvoir s'en servir (c'est fait dans la classe App) |
CEngine::Physics::Cell | Structure qui définit l'emplacement d'une cellule dans l'espace en 2D |
CEngine::Physics::CellHash | Le hash d'une cellule donnée |
CEngine::Physics::ColliderRecord | Une entrée qui permet de savoir quelles entités sont en collision avec un Collider On a des maps de ColliderRecords dans les composants de type Collider pour ça, on peut savoir à chaque instant qui est en collision avec le collider, et depuis combien de temps |
CEngine::Physics::CollisionManifold | Définition d'un manifeste de collision |
CEngine::ECS::Component | Classe Component à dériver pour pouvoir être utilisée dans les systèmes ECS |
CEngine::ECS::Children | Equivalent de la structure parent mais pour gérer les enfants dans une entité |
CEngine::ECS::Parent | Structure de données qui définit un composant "parent" poru stocker un id vers une entité parente dans la hiérarchie si besoin |
CEngine::Graphics::Particle | La particule est l'élément atomique du système de particules du moteur. Les émetteurs de particules instancient des entités avec des components "Particle", ensuite, c'est l'émetteur qui gère le cycle de vie de l'entité particule et la paramètre |
CEngine::Graphics::ParticleEmitter | L'emetteur est en quelques sortes le "moteur" qui génère et gère les particules à l'écran Peut être configuré de plein de manière différentes pour permettre des effets visuels customisés |
CEngine::Graphics::Sprite | Structure de donnée contenant de quoi afficher un sprite à l'écran |
CEngine::Graphics::SpriteAnimator | Composant ECS qui stocke plusieurs animations, et permet de jouer l'une ou l'autre avec des appels simples |
CEngine::Physics::BoxCollider | Le BoxCollider est le collider le plus "simple" qui soit. Il s'agit d'une "box" qui se positionne au centre de l'entité, et s'étend autour d'elle. Pas optimal pour les entités arrondies, mais en 2D, avec des sprites, fait amplement l'affaire |
CEngine::Physics::Rigidbody | La structure rigidbody contient de quoi simuler l'existance d'un corps physique dans le moteur de jeu |
CEngine::Scene::Behaviour | Component de "scripting" qui permet de profiter des fonctions de cycle de vie sur n'importe quelle entité |
CEngine::Scene::Transform | Cette structure de donnée permet la gestion d'une entité dans l'espace |
CEngine::UI::Action | Structure de donnée qui indique si l'élément cible est survolé par la souris |
CEngine::UI::Element | Définit un component "Element" à ajouter à une entité pour créer des interfaces |
CEngine::UI::Text | Définit un component "Text" à ajouter à une entité pour créer des interfaces |
CEngine::ECS::Entity | Une entité est l'élément "atomique" utilisé dans l'architecture ECS pour référencer les composants |
CEngine::Core::Event | Classe Event dont tous les évènements devront hériter dans le système. Permet simplement de rendre le dispatcher d'évènements "générique" en passant par un type simple comme ça |
CEngine::Core::EventDispatcher | EventDispatcher enregistre des listeners, émet des évènements, et appelle des callbacks |
CEngine::UI::Font | Charge une police de caractère en utilisant la lib FreeType, et prépare les caractères |
CEngine::UI::FontChar | FontChar est une structure qui stocke la data d'un caractère chargé par une font |
CEngine::Scene::ICamera | |
CEngine::Scene::Camera2D | |
CEngine::ECS::IComponentStorage | Interface pour le système de stockage de composants |
CEngine::ECS::ComponentStorage< T > | Stockage de composant typé selon template, basé sur l'interface générique |
CEngine::Utils::IniParser | La classe parse un fichier INI et stocke la donnée en proposant des helpers pour lire des valeurs |
CEngine::Input::InputManager | Classe Statique qui garde un oeil sur l'état de tous les inputs |
CEngine::Input::KeyState | Stocke l'état d'une touche et la durée passée dans l'état |
CEngine::Core::Logger | Classe Singleton "Logger". Ne devrais jamais être appelée directement, puisqu'il existe des macros toutes prêtes |
CEngine::Graphics::Material | La classe Material définit un "material" graphique utilisé pour le rendu de meshes texturés |
CEngine::Utils::MemoryStream | Réplique le fonctionnement des "flux" pour fichiers de C++ sur un buffer mémoire |
CEngine::Physics::OBB | Oriented Bounding Box |
CEngine::Core::PakFile | Classe qui charge un fichier PAK en mémoire. On peut ensuite accéder à ses contenus au format Binaire ou interpréter le texte |
CEngine::Core::PakHeader | Structure qui définit le header du type PAK. Utile pour avoir des infos sur ce que l'on va lire |
CEngine::Core::Profiler | |
CEngine::Rectangle | Définition d'une structure rectangle qui est défini par la position de deux points : min et max |
CEngine::ECS::Registry | Classe Registre qui stocke des composants et gère l'attribution des IDs d'entités |
CEngine::Render::RenderTarget | La classe RenderTarget encapsule la gestion d'un framebuffer de taille custom pour le rendu de scène en deux temps |
CEngine::Utils::ResourceManager | La classe resource manager permet la gestion de fichiers .pak de façon statique pour donner accès de manière globale aux assets |
CEngine::Scene::Scene | Classe qui encapsule un registre de composants ECS, et des fonctions de lifcecycle |
CEngine::Render::ScreenRenderer | La classe ScreenRenderer permet de dessiner une RenderTarget dans le contexte OpenGL courant |
CEngine::Graphics::Shader | Classe Shader qui porte un identifiant OpenGL pointant vers le shader compilé |
CEngine::Audio::Sound | Sound est un type de donnée qui contient ce qu'il faut pour jouer un son avec l'api OpenAl |
CEngine::Graphics::SpriteAnimation | Structure de donnée contenant une liste de frames et des paramètres pour de l'animation |
CEngine::Utils::StateStore | |
CEngine::ECS::System | La classe System implémente une logique spécifique à des composants |
CEngine::Graphics::ParticleSystem | La classe ParticleSystem gère le cycle de vie de tous les components de type "ParticleEmitter" |
CEngine::Graphics::SpriteAnimationSystem | |
CEngine::Physics::PhysicSystem | Le Système physique dans son ensemble définit ici |
CEngine::Render::DebugRenderer | La classe DebugRenderer embarque un shader non customisable (hardcodé dans le constructeur) et un quad VAO pour faire des rendus |
CEngine::Render::SpriteRenderer | Système sprite renderer |
CEngine::Render::UIRenderer | Classe UIRenderer qui s'occupe d'afficher textes et éléments |
CEngine::Scene::BehaviourSystem | Appelle les callbacks de cycle de vie sur les components Behaviour actifs |
CEngine::Graphics::Texture | Transporte un ID de texture OpenGL |
CEngine::Core::Window | Wrapper pour le contexte openGL, ainsi que la statemachine openGL dans une certaine mesure |