summaryrefslogtreecommitdiff
path: root/src/ecs.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2023-10-04 16:00:31 -0400
committerJonathan Bradley <jcb@pikum.xyz>2023-10-04 16:00:31 -0400
commit807a5db33b28b984c39364b33ec1248c38411e63 (patch)
tree0d979de97df9c69475525fe7cbe6bbf0362050ec /src/ecs.cpp
parent70b9cc994d084ea486b28d3e33415ba7e109bf6e (diff)
get instance buckets from ECS
Diffstat (limited to 'src/ecs.cpp')
-rw-r--r--src/ecs.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/ecs.cpp b/src/ecs.cpp
index 9458506..03596f3 100644
--- a/src/ecs.cpp
+++ b/src/ecs.cpp
@@ -379,3 +379,16 @@ void ECS_UpdateInstance(EntityHandle entHandle, const InstPos &instPos) {
inst->instPos.scale = instPos.scale;
inst->isNeedingUpdated = true;
}
+
+uint64_t ECS_GetInstances_BucketCount() {
+ return Comp_Instance_BucketContainer.bucketCounter + 1;
+}
+
+CompInstance *ECS_GetInstances(uint64_t bucketIndex, uint64_t &itemCount) {
+ if (bucketIndex == Comp_Instance_BucketContainer.bucketCounter) {
+ itemCount = Comp_Instance_BucketContainer.itemCounter >> 32;
+ } else {
+ itemCount = maxBucketItemCount;
+ }
+ return Comp_Instance_BucketContainer.buckets[bucketIndex].instances;
+}