From 8f89b7146db95fb0613683fa8d1e89ed3db1f167 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Wed, 6 Sep 2023 12:59:19 -0400 Subject: expose entities themselves --- src/ecs.cpp | 9 +++++++++ src/ecs.hpp | 2 ++ 2 files changed, 11 insertions(+) (limited to 'src') 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(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); -- cgit v1.2.3