Kaltenberg/modules/ecs/inc-c/voxula/internals/ecs.h

31 lines
665 B
C
Raw Permalink Normal View History

#ifndef VOXULA_H
#define VOXULA_H
#include <stdbool.h>
#include <stdint.h>
#include <voxula/internals/utility.h>
typedef void vecs_s;
typedef struct vecs_entity vecs_entity_s;
struct vecs_entity
{
vecs_s *ecs;
vx_uuid_d uuid;
};
vecs_s * vecs_new(vx_uuid_table_s *uuid_table);
void vecs_free(vecs_s *ecs);
vecs_entity_s vecs_summon(vecs_s *ecs);
void vecs_vanish(vecs_entity_s entity);
bool vecs_has(vecs_entity_s entity, const char *name);
void vecs_tag(vecs_entity_s entity, const char *name);
void * vecs_attach(vecs_entity_s entity, const char *name, uint32_t size);
void vecs_detach(vecs_entity_s entity, const char *name);
#endif // VOXULA_H