#include "entities.h" void init_bullet(ge_ecs_t* ecs, ge_entity_t **_bullet) { Assert(ecs != NULL && _bullet != NULL); ge_ecs_add_entity(ecs, _bullet); ge_entity_t* bullet = *_bullet; Assert(bullet != NULL); *bullet = (ge_entity_t) { .user_type = BULLET, .component_mask = GE_RENDERABLE_MASK | GE_PHYSICS_MASK | GE_COLLIDER_MASK, .renderable = (ge_render_component_t) { .type = GE_RENDER_COMP_TYPE_RECT, .data.rect = { .size = { 2, 2 }, .color = GE_COLOR_RED, } }, .physics_body = (ge_physics_component_t) { .type = GE_PHYSICS_COMP_TYPE_VELOCITY, .velocity = { 0, 0 }, }, .collision = (ge_collision_component_t) { .type = GE_COLLISION_COMP_TYPE_BOX, .layers = LAYER_PLAYER_PROJECTILE, .mask = LAYER_WALL | LAYER_ENEMY_HITBOX, .collider.box = { .relative_pos = { 0, 0 }, .size = { 2, 2 }, }, }, }; }