diff --git a/README.md b/README.md index 64e5e97..1413111 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ idpool:is_alive -> id -> (boolean) ``` registry.entity -> (entity) +registry.guid -> entity -> (id) registry.is_alive -> entity -> (boolean) registry.destroy -> entity -> () registry.get -> entity -> entity -> (any) @@ -45,16 +46,17 @@ registry.components -> chunk -> entity -> (any[]) ### Instance `entity` ``` -enity:is_alive -> (boolean) -enity:destroy -> () -enity:get -> entity -> (any) -enity:get_or -> entity -> any -> (any) -enity:has -> entity -> (boolean) -enity:has_all -> entity -> entity... -> (boolean) -enity:has_any -> entity -> entity... -> (boolean) -enity:assign -> entity -> any -> () -enity:insert -> entity -> any -> () -enity:remove -> entity -> () +entity:guid -> (id) +entity:is_alive -> (boolean) +entity:destroy -> () +entity:get -> entity -> (any) +entity:get_or -> entity -> any -> (any) +entity:has -> entity -> (boolean) +entity:has_all -> entity -> entity... -> (boolean) +entity:has_any -> entity -> entity... -> (boolean) +entity:assign -> entity -> any -> () +entity:insert -> entity -> any -> () +entity:remove -> entity -> () ``` ### Instance `query` diff --git a/evolved/registry.lua b/evolved/registry.lua index 3f0b31d..5164a81 100644 --- a/evolved/registry.lua +++ b/evolved/registry.lua @@ -22,7 +22,7 @@ local __queries = {} ---@type table --- ---@class evolved.entity ----@field package __guid integer +---@field package __guid evolved.id ---@field package __chunk? evolved.chunk ---@field package __index_in_chunk integer local evolved_entity_mt = {} @@ -283,6 +283,13 @@ function registry.entity() return setmetatable(entity, evolved_entity_mt) end +---@param entity evolved.entity +---@return evolved.id +---@nodiscard +function registry.guid(entity) + return entity.__guid +end + ---@param entity evolved.entity ---@return boolean ---@nodiscard @@ -546,6 +553,7 @@ function evolved_entity_mt:__tostring() return string.format('[%d;%d]', index, version) end +evolved_entity_mt.guid = registry.guid evolved_entity_mt.is_alive = registry.is_alive evolved_entity_mt.destroy = registry.destroy evolved_entity_mt.get = registry.get