NEngine | |
NAudio | |
CAudioManager | 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) |
CSound | Sound est un type de donnée qui contient ce qu'il faut pour jouer un son avec l'api OpenAl |
NCore | |
CEvent | 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 |
CEventDispatcher | EventDispatcher enregistre des listeners, émet des évènements, et appelle des callbacks |
CLogger | Classe Singleton "Logger". Ne devrais jamais être appelée directement, puisqu'il existe des macros toutes prêtes |
CPakFile | Classe qui charge un fichier PAK en mémoire. On peut ensuite accéder à ses contenus au format Binaire ou interpréter le texte |
CPakHeader | Structure qui définit le header du type PAK. Utile pour avoir des infos sur ce que l'on va lire |
CProfiler | |
CWindow | Wrapper pour le contexte openGL, ainsi que la statemachine openGL dans une certaine mesure |
NECS | |
CChildren | Equivalent de la structure parent mais pour gérer les enfants dans une entité |
CComponent | Classe Component à dériver pour pouvoir être utilisée dans les systèmes ECS |
CComponentStorage | Stockage de composant typé selon template, basé sur l'interface générique |
CEntity | Une entité est l'élément "atomique" utilisé dans l'architecture ECS pour référencer les composants |
CIComponentStorage | Interface pour le système de stockage de composants |
CParent | Structure de données qui définit un composant "parent" poru stocker un id vers une entité parente dans la hiérarchie si besoin |
CRegistry | Classe Registre qui stocke des composants et gère l'attribution des IDs d'entités |
CSystem | La classe System implémente une logique spécifique à des composants |
NGraphics | |
CMaterial | La classe Material définit un "material" graphique utilisé pour le rendu de meshes texturés |
CParticle | 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 |
CParticleEmitter | 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 |
CParticleSystem | La classe ParticleSystem gère le cycle de vie de tous les components de type "ParticleEmitter" |
CShader | Classe Shader qui porte un identifiant OpenGL pointant vers le shader compilé |
CSprite | Structure de donnée contenant de quoi afficher un sprite à l'écran |
CSpriteAnimation | Structure de donnée contenant une liste de frames et des paramètres pour de l'animation |
CSpriteAnimationSystem | |
CSpriteAnimator | Composant ECS qui stocke plusieurs animations, et permet de jouer l'une ou l'autre avec des appels simples |
CTexture | Transporte un ID de texture OpenGL |
NInput | |
CInputManager | Classe Statique qui garde un oeil sur l'état de tous les inputs |
CKeyState | Stocke l'état d'une touche et la durée passée dans l'état |
NPhysics | |
CAABB | Axis Aligned Bounding Box |
CBoxCollider | 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 |
CCell | Structure qui définit l'emplacement d'une cellule dans l'espace en 2D |
CCellHash | Le hash d'une cellule donnée |
CColliderRecord | 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 |
CCollisionManifold | Définition d'un manifeste de collision |
COBB | Oriented Bounding Box |
CPhysicSystem | Le Système physique dans son ensemble définit ici |
CRigidbody | La structure rigidbody contient de quoi simuler l'existance d'un corps physique dans le moteur de jeu |
NRender | |
CDebugRenderer | La classe DebugRenderer embarque un shader non customisable (hardcodé dans le constructeur) et un quad VAO pour faire des rendus |
CRenderTarget | La classe RenderTarget encapsule la gestion d'un framebuffer de taille custom pour le rendu de scène en deux temps |
CScreenRenderer | La classe ScreenRenderer permet de dessiner une RenderTarget dans le contexte OpenGL courant |
CSpriteRenderer | Système sprite renderer |
CUIRenderer | Classe UIRenderer qui s'occupe d'afficher textes et éléments |
NScene | |
CBehaviour | Component de "scripting" qui permet de profiter des fonctions de cycle de vie sur n'importe quelle entité |
CBehaviourSystem | Appelle les callbacks de cycle de vie sur les components Behaviour actifs |
CCamera2D | |
CICamera | |
CScene | Classe qui encapsule un registre de composants ECS, et des fonctions de lifcecycle |
CTransform | Cette structure de donnée permet la gestion d'une entité dans l'espace |
NUI | |
CAction | Structure de donnée qui indique si l'élément cible est survolé par la souris |
CElement | Définit un component "Element" à ajouter à une entité pour créer des interfaces |
CFont | Charge une police de caractère en utilisant la lib FreeType, et prépare les caractères |
CFontChar | FontChar est une structure qui stocke la data d'un caractère chargé par une font |
CText | Définit un component "Text" à ajouter à une entité pour créer des interfaces |
NUtils | |
CIniParser | La classe parse un fichier INI et stocke la donnée en proposant des helpers pour lire des valeurs |
CMemoryStream | Réplique le fonctionnement des "flux" pour fichiers de C++ sur un buffer mémoire |
CResourceManager | La classe resource manager permet la gestion de fichiers .pak de façon statique pour donner accès de manière globale aux assets |
CStateStore | |
CApp | Point d'entrée d'une application. Gère les différents systèmes associés au moteur de jeu |
CAppSettings | Structure de données qui contient des paramètres d'application |
CRectangle | Définition d'une structure rectangle qui est défini par la position de deux points : min et max |