diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2024-01-09 20:30:05 -0500 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2024-01-10 11:30:41 -0500 |
| commit | 294c85f91ac5b2ff9e4ad3d99588ed0d1a72e6b7 (patch) | |
| tree | a92c28661e1ab4b15a9ac9e52816cc6a4c2d7b95 /src/ecs.hpp | |
| parent | 0a382e78b6cbc77156d78df4e7b0c2854cbb0cd1 (diff) | |
checkpoint - major ECS interface refactor
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); |
