summaryrefslogtreecommitdiff
path: root/src/ecs.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2023-11-07 16:19:39 -0500
committerJonathan Bradley <jcb@pikum.xyz>2023-11-15 13:16:34 -0500
commit546e179d6095d07342b9b8f29f3b20eaaf3cf274 (patch)
tree2b362e7f1722563e5255c1532e88421db1c4ea1e /src/ecs.cpp
parentf18bcfbb4ff2bedae2f4565b823f822a31b1344c (diff)
Expose method to get CompGrBinds by GrBindsHandle.
This is useful because if you are working with an instance, the instance has a GrBindsHandle but not the EntityHandle that owns the CompGrBinds
Diffstat (limited to 'src/ecs.cpp')
-rw-r--r--src/ecs.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ecs.cpp b/src/ecs.cpp
index ee9201e..16a5b58 100644
--- a/src/ecs.cpp
+++ b/src/ecs.cpp
@@ -331,6 +331,13 @@ CompGrBinds *ECS_GetGrBinds(EntityHandle entHandle) {
auto i = Buckets_GetItemIndex(grBindsHandle_t);
return &Comp_GrBinds_BucketContainer.buckets[b].compGrBinds[i];
}
+CompGrBinds *ECS_GetGrBinds(GrBindsHandle grBindsHandle) {
+ if (grBindsHandle == GrBindsHandle_MAX) return nullptr;
+ GrBindsHandle_T grBindsHandle_t{static_cast<GrBindsHandle_T>(grBindsHandle)};
+ auto b = Buckets_GetBucketIndex(grBindsHandle_t);
+ auto i = Buckets_GetItemIndex(grBindsHandle_t);
+ return &Comp_GrBinds_BucketContainer.buckets[b].compGrBinds[i];
+}
uint64_t ECS_GetGrBinds_BucketCount() {
return Comp_GrBinds_BucketContainer.bucketCounter + 1;