![]() |
Yume Project 3.0
Touhou-inspired Danmaku game made in C only
|
Macros nécessaire à la création de nouvelles composantes de l'ECS. Plus de détails...
Aller au code source de ce fichier.
Macros | |
| #define | DEFINE_COMPONENT_MANAGER(Type, Number) |
| Créé un composant dans l'ECS. | |
| #define | DECLARE_GETTER(Component, type, champ) |
| #define | DECLARE_SETTER(Component, type, champ) |
| #define | DECLARE_SETTER_GETTER(Component, type, champ) |
Macros nécessaire à la création de nouvelles composantes de l'ECS.
| #define DECLARE_GETTER | ( | Component, | |
| type, | |||
| champ ) |
| #define DECLARE_SETTER | ( | Component, | |
| type, | |||
| champ ) |
| #define DECLARE_SETTER_GETTER | ( | Component, | |
| type, | |||
| champ ) |
| #define DEFINE_COMPONENT_MANAGER | ( | Type, | |
| Number ) |
Créé un composant dans l'ECS.
| Type | : Le nom de la composante à créer |
| Number | : Doit être égal à MAX_ENTITIES (sauf si la composante est très lourde) |
Ce composant est une structure contenant:
Ce composant dispose de 4 fonctions: Type##_init(Type##Manager *mgr): s'utilise dans la fonction d'initialisation d'un gamestate Params: mgr : le manager de la composante
Type##_add(Type##Manager *mgr, Entity e, Type data): append une nouvelle instance du composant à "dense". Params: mgr : le manager de la composante e : l'ID de l'instance à ajouter data : Une instance de la composante, elle est mise dans dense Ne doit PAS être déclaré dynamiquement
Type##_get(Type##Manager *mgr, Entity e): return la valeur de la composante pour un ID Params: mgr : le manager de la composante e : l'ID de l'instance dont on cherche la valeur de la composante Type
static inline void Type##_remove(Type##Manager *mgr, Entity e) détruit une instance de la composante Params: mgr : le manager de la composante e : l'ID de l'instance à détruire
static inline Entity Type##_get_entity(Type##Manager *mgr, int dense_id) Renvoie l'entité correspondante a la donnée considérée Params: mgr : le manager de la composante dense_id : l'emplacement dans le tableau dense de la donnée