diff options
Diffstat (limited to 'src/ecs.hpp')
| -rw-r--r-- | src/ecs.hpp | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/ecs.hpp b/src/ecs.hpp index 4deacaf..567f6df 100644 --- a/src/ecs.hpp +++ b/src/ecs.hpp @@ -8,8 +8,8 @@ #include "glm/vec3.hpp" -extern DynArray<EntityHandle> EntitiesToBeRemoved; -extern DynArray<EntityHandle> EntitiesWithExcessInstances; +extern DynArray<Entity_Base *> EntitiesToBeRemoved; +extern DynArray<Entity_Base *> EntitiesWithExcessInstances; static struct { uint64_t Entity = 1ULL << 0; @@ -22,22 +22,21 @@ void ECS_Teardown(); void ECS_Tick_Early(double delta); void ECS_Tick(double delta); void ECS_Tick_Late(double delta); -EntityHandle ECS_CreateEntity(EntityHandle parentEntHandle = EntityHandle{}); -void ECS_MarkForRemoval(EntityHandle entHandle); -uint64_t ECS_GetEntities_BucketCount(); -Entity *ECS_GetEntities(uint64_t bucketIndex, uint64_t &itemCount); -void ECS_HandleCollision(EntityHandle lhs, EntityHandle rhs); +EntityHandle ECS_CreateEntity(Entity_Base *entity, Entity_Base *parentEnt = nullptr); +Entity_Base *ECS_GetEntity(EntityHandle handle); +void ECS_MarkForRemoval(Entity_Base *entity); -CompGrBinds &ECS_CreateGrBinds(EntityHandle entHandle); -CompGrBinds *ECS_GetGrBinds(EntityHandle entHandle); +void ECS_HandleCollision(Entity_Base *lhs, Entity_Base *rhs); + +CompGrBinds *ECS_CreateGrBinds(Entity_Base *); CompGrBinds *ECS_GetGrBinds(GrBindsHandle grBindsHandle); uint64_t ECS_GetGrBinds_BucketCount(); CompGrBinds *ECS_GetGrBinds(uint64_t bucketIndex, uint64_t &itemCount); -CompInstance &ECS_CreateInstance(EntityHandle entHandle, EntityHandle entityTypeEntityHandle); -CompInstance *ECS_GetInstance(EntityHandle entHandle); -void ECS_UpdateInstance(EntityHandle entHandle, const InstPos &instPos, bool overridePhysics = false); +CompInstance *ECS_CreateInstance(Entity_Base *entity, CompGrBinds *entityTypeGrBinds); +CompInstance *ECS_GetInstance(InstanceHandle instanceHandle); +void ECS_UpdateInstance(CompInstance *instance, const InstPos &instPos, bool overridePhysics = false); uint64_t ECS_GetInstances_BucketCount(); CompInstance *ECS_GetInstances(uint64_t bucketIndex, uint64_t &itemCount); |
