diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2023-09-06 12:59:19 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2023-09-06 17:24:27 -0400 |
| commit | 8f89b7146db95fb0613683fa8d1e89ed3db1f167 (patch) | |
| tree | b2d4facf24def7cd202cbee2f11b3607476e9cc8 | |
| parent | dfb7067d77eaa7191295d8d223846edbe0f654a9 (diff) | |
expose entities themselves
| -rw-r--r-- | src/ecs.cpp | 9 | ||||
| -rw-r--r-- | src/ecs.hpp | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/ecs.cpp b/src/ecs.cpp index 14f19c2..25dcb45 100644 --- a/src/ecs.cpp +++ b/src/ecs.cpp @@ -35,6 +35,15 @@ void ECS_Init() { Buckets_Init(Comp_Instance_BucketContainer); } +uint64_t ECS_GetEntities_BucketCount() { + return Entities_BucketContainer.bucketCounter; +} +Entity *ECS_GetEntities(uint64_t bucketIndex, uint64_t &itemCount) { + assert(bucketIndex <= Entities_BucketContainer.bucketCounter); + itemCount = bucketIndex == Entities_BucketContainer.bucketCounter ? Entities_BucketContainer.itemCounter : maxBucketItemCount; + return Entities_BucketContainer.buckets[bucketIndex].entities; +} + EntityHandle ECS_CreateEntity_Inner(EntityHandle parentEntHandle) { EntityHandle_T entityHandle_T{Buckets_NewHandle<EntityBucket>(maxBucketItemCount, Entities_BucketContainer)}; EntityHandle entityHandle{entityHandle_T}; diff --git a/src/ecs.hpp b/src/ecs.hpp index baebef3..1dd8d57 100644 --- a/src/ecs.hpp +++ b/src/ecs.hpp @@ -19,6 +19,8 @@ void ECS_Init(); void ECS_Tick(double delta); EntityHandle ECS_CreateEntity(EntityHandle parentEntHandle = EntityHandle{EntityHandle_T{0xFFFFFFFFFFFFFFFF}}); void ECS_MarkForRemoval(EntityHandle entHandle); +uint64_t ECS_GetEntities_BucketCount(); +Entity *ECS_GetEntities(uint64_t bucketIndex, uint64_t &itemCount); CompGrBinds &ECS_CreateGrBinds(EntityHandle entHandle); CompGrBinds *ECS_GetGrBinds(EntityHandle entHandle); |
