![]() |
Yume Project 3.0
Touhou-inspired Danmaku game made in C only
|
Composants communs à toutes les entités (Position, Tag). Plus de détails...
#include "ecs/component.h"#include "ecs/ecs.h"#include <raylib.h>#include <stdbool.h>#include <stdint.h>Aller au code source de ce fichier.
Classes | |
| struct | Position |
| struct | Uid |
Macros | |
| #define | BOUNDS_X 100 |
| #define | BOUNDS_Y 50 |
Définitions de type | |
| typedef EntityType | Tag |
| typedef struct Position | Position |
| typedef Entity | Owner |
Énumérations | |
| enum | EntityType { ID_INVALID = -1 , ENT_PLAYER , ENT_ENEMY , ENT_BOSS , ENT_ENEMY_SHOT , ENT_PLAYER_SHOT , ENT_ENEMY_LASER , ENT_PLAYER_LASER , ENT_LOOSE_LASER , ENT_PARTICLE , ENT_BACKGROUND } |
Fonctions | |
| DEFINE_COMPONENT_MANAGER (Uid, MAX_ENTITIES) | |
| bool | Position_is_out_of_bounds (Position *pos) |
| Renvoie si la position est dans le cadre du jeu. | |
| void | Position_set_position (Position *pos, float x, float y) |
| Met une valeur de position. | |
| Entity | Position_create (Pool *p, float x, float y, float angle) |
| Crée une entité avec une position. | |
| void | Owner_bind (Pool *p, Entity PositionId, Entity ParticleId) |
| Ajoute un owner à une entité | |
| void | Owner_update (Pool *p) |
| Met à jour la position de toutes les entitées qui ont un owner en copiant celle de leur owner. | |
| bool | Tag_in_array (Tag tag, Tag *array, int size) |
Composants communs à toutes les entités (Position, Tag).
Ce module définit les composants de base partagés par la majorité des entités :
Il fournit aussi les utilitaires de vérification des limites du cadre de jeu.
| #define BOUNDS_X 100 |
Marge pour la largeur du cadre de jeu
| #define BOUNDS_Y 50 |
Marge pour la hauteur du cadre de jeu
| typedef struct Position Position |
| typedef EntityType Tag |
| enum EntityType |
| DEFINE_COMPONENT_MANAGER | ( | Uid | , |
| MAX_ENTITIES | ) |
Ajoute un owner à une entité
| p | pool courante (toutes les données de l'ECS) |
| PositionId | l'id de l'entité qui deviendra owner |
| ParticleId | l'id de l'entité soumise à l'owner |
| void Owner_update | ( | Pool * | p | ) |
Met à jour la position de toutes les entitées qui ont un owner en copiant celle de leur owner.
| p | pool courante (toutes les données de l'ECS) |
Crée une entité avec une position.
| p | pool courante (toutes les données de l'ECS) |
| x | coordonnée x de l'entité à créer |
| y | coordonnée y de l'entité à créer |
| angle | l'angle de l'entité à créer |
|
extern |
Renvoie si la position est dans le cadre du jeu.
Le cadre du jeu est délimité par les macros PANEL définies dans core/screen.h Il est aussi bounded par les macros BOUND_[X/Y] définies dans components/common.h
| pos | Composant Position à vérifier |
|
extern |
Met une valeur de position.
| pos | Composant Position à modifier |
| x | coordonnée x |
| y | coordonnée y |