From 40d69e7e40a18865a31af2f55efcde369d36dbbb Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Tue, 20 May 2025 21:08:19 -0400 Subject: pke: serialization overhaul + embedded assets --- src/ecs.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/ecs.cpp') diff --git a/src/ecs.cpp b/src/ecs.cpp index d029b18..9d0245e 100644 --- a/src/ecs.cpp +++ b/src/ecs.cpp @@ -105,6 +105,16 @@ Entity_Base *ECS_GetEntity(EntityHandle handle) { return ecs.bc.entityPtrs[handle]; } +Entity_Base *ECS_GetEntityByUUID(pk_uuid uuid) { + for (pk_handle_bucket_index_T b = 0; b <= ecs.bc.entityPtrs.pkeHandle.bucketIndex; ++b) { + for (pk_handle_item_index_T i = 0; i < ecs.bc.entityPtrs.pkeHandle.itemIndex; ++i) { + Entity_Base *bs = ecs.bc.entityPtrs.buckets[b][i]; + if (bs->uuid == uuid) return bs; + } + } + return nullptr; +} + void ECS_MarkForRemoval(Entity_Base *entity) { assert(entity->handle != EntityHandle_MAX && "Attempting to remove invalid entity"); assert(entity->isMarkedForRemoval == false && "Entity already marked for removal"); -- cgit v1.2.3