diff options
Diffstat (limited to 'lib/world.h')
| -rw-r--r-- | lib/world.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/world.h b/lib/world.h new file mode 100644 index 0000000..40c3fef --- /dev/null +++ b/lib/world.h @@ -0,0 +1,31 @@ +#define WORLD_MAX_ENTITIES 5000 + +enum { + ENTITY_NONE, + ENTITY_BALL +}; + +struct entity_ball { + vec2 pos; + vec2 vel; +}; + +union entity_union { + struct entity_ball ball; +}; + +struct entity { + int kind; + union entity_union e; +}; + +struct world; + +struct world *dp_world_create(); +void dp_world_free(struct world *); + +int dp_world_create_entity(struct world *, int kind); +struct entity *dp_world_find_entity(struct world *, int entity_id); +int dp_world_remove_entity(struct world *, int entity_id); + +int dp_world_tick(struct world *, double delta); |
