mirror of
https://github.com/BlackMATov/evolved.lua.git
synced 2025-12-13 19:48:00 +07:00
remove exception from assign function
This commit is contained in:
@@ -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)
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user