#include "background.h"
#include "bullet.h"
#include "collision_circle.h"
#include "collision_rectangle.h"
#include "common.h"
#include "life.h"
#include "physics.h"
#include "sprite.h"
#include "ecs/ecs.h"
#include "player.h"
#include "straight_laser.h"
#include "looseLaser.h"
#include "enemy.h"
#include "flags.h"
Aller au code source de ce fichier.
|
| struct | Pool |
| | La pool est la structure qui contient l'Entity Component System Elle gêre les différentes composantes grâce à ses champs de type "manager" et assure la création d'Identifiants cohérents pour les nouvelles entités grâce au tableau "free_indices". Enfin, les entités à détruire son ajouté à sa kill_queue, qui est vidée à la fin de chaque frame. Plus de détails...
|
|
| typedef struct Pool | Pool |
| | La pool est la structure qui contient l'Entity Component System Elle gêre les différentes composantes grâce à ses champs de type "manager" et assure la création d'Identifiants cohérents pour les nouvelles entités grâce au tableau "free_indices". Enfin, les entités à détruire son ajouté à sa kill_queue, qui est vidée à la fin de chaque frame.
|
◆ Pool
La pool est la structure qui contient l'Entity Component System Elle gêre les différentes composantes grâce à ses champs de type "manager" et assure la création d'Identifiants cohérents pour les nouvelles entités grâce au tableau "free_indices". Enfin, les entités à détruire son ajouté à sa kill_queue, qui est vidée à la fin de chaque frame.
◆ entity_box()
Encapsule une Entity dans un BoxedEntity contenant son UID.
Utilisé pour transporter une référence sûre à une entité
- Paramètres
-
| p | pool courante |
| ent | Entité à encapsuler. |
- Renvoie
- BoxedEntity Boîte contenant l'entité et son unique_id, ou une boîte nulle si invalide.
◆ entity_unbox()
Récupère l'Id d'une entité à partir d'un BoxedEntity si toujours valide.
- Paramètres
-
| p | pool courante |
| box | Boîte contenant l'entité à extraire. |
- Renvoie
- Entity L'Id de l'entité si valide, sinon NULL_INDEX.
◆ pool_create_entity()
Crée une nouvelle entité et retourne son identifiant.
Récupère un identifiant libre depuis free_indices et enregistre un Uid unique
- Paramètres
-
| p | pool dans laquelle créé l'entité. |
- Renvoie
- l'Identifiant de la nouvelle entité ou NULL_INDEX si erreur.
◆ pool_init()
| void pool_init |
( |
Pool * | p | ) |
|
|
extern |
Initialise la pool (ECS) et tous les managers de composants.
Initialise chaque ComponentManager présent dans la pool et prépare la pile free_indices contenant les identifiants libres.
- Paramètres
-
◆ pool_kill_convicts()
| void pool_kill_convicts |
( |
Pool * | p | ) |
|
|
extern |
Détruit toutes les entités présentes dans la kill_queue.
Parcourt kill_queue, retire chaque entité de tous les managers (components) et remet son identifiant dans la pile free_indices. Doit être appelé en fin de frame.
- Paramètres
-
◆ pool_kill_entity()
Marque une entité pour destruction en fin de frame.
L'entité est ajoutée à kill_queue et sera effectivement détruite par pool_kill_convicts lors du traitement en fin de frame. Si l'entité est déjà dans la file, la fonction ne fait rien.
- Paramètres
-
| p | pool courante |
| e | Identifiant de l'entité à détruire. |