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_all -> 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.remove -> entity -> entity... -> (boolean)
registry.query -> entity -> entity... -> (query)
@@ -54,7 +54,7 @@ entity:get_or -> entity -> any -> (any)
entity:has -> entity -> (boolean)
entity:has_all -> entity... -> (boolean)
entity:has_any -> entity... -> (boolean)
entity:assign -> entity -> any -> ()
entity:assign -> entity -> any -> (boolean)
entity:insert -> entity -> any -> (boolean)
entity:remove -> entity... -> (boolean)
```

View File

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

View File

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