remove exception from assign function

This commit is contained in:
BlackMATov
2024-11-24 09:23:05 +07:00
parent 39e18294c1
commit 49a454fb39
3 changed files with 8 additions and 8 deletions

View File

@@ -33,7 +33,7 @@ registry.get_or -> entity -> entity -> any -> (any)
registry.has -> entity -> entity -> (boolean) registry.has -> entity -> entity -> (boolean)
registry.has_all -> entity -> entity... -> (boolean) registry.has_all -> entity -> entity... -> (boolean)
registry.has_any -> entity -> entity... -> (boolean) registry.has_any -> entity -> entity... -> (boolean)
registry.assign -> entity -> entity -> any -> () registry.assign -> entity -> entity -> any -> (boolean)
registry.insert -> entity -> entity -> any -> (boolean) registry.insert -> entity -> entity -> any -> (boolean)
registry.remove -> entity -> entity... -> (boolean) registry.remove -> entity -> entity... -> (boolean)
registry.query -> entity -> entity... -> (query) registry.query -> entity -> entity... -> (query)
@@ -54,7 +54,7 @@ entity:get_or -> entity -> any -> (any)
entity:has -> entity -> (boolean) entity:has -> entity -> (boolean)
entity:has_all -> entity... -> (boolean) entity:has_all -> entity... -> (boolean)
entity:has_any -> entity... -> (boolean) entity:has_any -> entity... -> (boolean)
entity:assign -> entity -> any -> () entity:assign -> entity -> any -> (boolean)
entity:insert -> entity -> any -> (boolean) entity:insert -> entity -> any -> (boolean)
entity:remove -> entity... -> (boolean) entity:remove -> entity... -> (boolean)
``` ```

View File

@@ -57,9 +57,10 @@ do
if not os.getenv("LOCAL_LUA_DEBUGGER_VSCODE") then if not os.getenv("LOCAL_LUA_DEBUGGER_VSCODE") then
assert(not pcall(e.get, e, f)) assert(not pcall(e.get, e, f))
assert(not pcall(e.assign, e, f, 42))
end end
assert(not e:assign(f, 42))
assert(e:get_or(f) == nil) assert(e:get_or(f) == nil)
assert(e:get_or(f, 42) == 42) assert(e:get_or(f, 42) == 42)
@@ -72,7 +73,7 @@ do
assert(not e:insert(f, 42)) assert(not e:insert(f, 42))
assert(e:get(f) == 42) assert(e:get(f) == 42)
e:assign(f) assert(e:assign(f))
assert(e:get(f) == true) assert(e:get(f) == true)
e:assign(f, 21) e:assign(f, 21)

View File

@@ -359,16 +359,15 @@ end
---@param entity evolved.entity ---@param entity evolved.entity
---@param fragment evolved.entity ---@param fragment evolved.entity
---@param component any ---@param component any
---@return boolean is_assigned
function registry.assign(entity, fragment, component) function registry.assign(entity, fragment, component)
component = component == nil and true or component component = component == nil and true or component
local chunk_components = entity.__chunk and entity.__chunk.__components[fragment] local chunk_components = entity.__chunk and entity.__chunk.__components[fragment]
if chunk_components == nil then return false end
if chunk_components == nil then
error(string.format('entity %s does not have fragment %s', entity, fragment), 2)
end
chunk_components[entity.__index_in_chunk] = component chunk_components[entity.__index_in_chunk] = component
return true
end end
---@param entity evolved.entity ---@param entity evolved.entity