mirror of
https://github.com/BlackMATov/evolved.lua.git
synced 2026-09-26 22:01:44 +07:00
"clear" function for all entity's fragments removing
This commit is contained in:
@@ -35,6 +35,7 @@ registry.has_any -> entity -> entity... -> (boolean)
|
||||
registry.assign -> entity -> entity -> any -> (boolean)
|
||||
registry.insert -> entity -> entity -> any -> (boolean)
|
||||
registry.remove -> entity -> entity... -> (boolean)
|
||||
registry.clear -> entity -> (boolean)
|
||||
registry.query -> entity -> entity... -> (query)
|
||||
registry.execute -> query -> (() -> (chunk?))
|
||||
registry.chunk -> entity -> entity... -> (chunk)
|
||||
@@ -55,6 +56,7 @@ entity:has_any -> entity... -> (boolean)
|
||||
entity:assign -> entity -> any -> (boolean)
|
||||
entity:insert -> entity -> any -> (boolean)
|
||||
entity:remove -> entity... -> (boolean)
|
||||
entity:clear -> (boolean)
|
||||
```
|
||||
|
||||
### Instance `query`
|
||||
|
||||
@@ -97,6 +97,24 @@ do
|
||||
assert(e:get(f) == 21)
|
||||
end
|
||||
|
||||
do
|
||||
local f1, f2 = evo.registry.entity(), evo.registry.entity()
|
||||
local e = evo.registry.entity()
|
||||
|
||||
assert(e:insert(f1))
|
||||
assert(e:insert(f2))
|
||||
assert(e:is_alive())
|
||||
assert(e.__chunk == evo.registry.chunk(f1, f2))
|
||||
|
||||
assert(e:clear())
|
||||
assert(e:is_alive())
|
||||
assert(e.__chunk == nil)
|
||||
|
||||
assert(not e:clear())
|
||||
assert(e:is_alive())
|
||||
assert(e.__chunk == nil)
|
||||
end
|
||||
|
||||
do
|
||||
local f1, f2 = evo.registry.entity(), evo.registry.entity()
|
||||
|
||||
|
||||
@@ -439,6 +439,17 @@ function registry.remove(entity, ...)
|
||||
return true
|
||||
end
|
||||
|
||||
---@param entity evolved.entity
|
||||
---@return boolean is_cleared
|
||||
function registry.clear(entity)
|
||||
if entity.__chunk == nil then
|
||||
return false
|
||||
end
|
||||
|
||||
__detach_entity(entity)
|
||||
return true
|
||||
end
|
||||
|
||||
---@param fragment evolved.entity
|
||||
---@param ... evolved.entity
|
||||
---@return evolved.query
|
||||
@@ -554,6 +565,7 @@ evolved_entity_mt.has_any = registry.has_any
|
||||
evolved_entity_mt.assign = registry.assign
|
||||
evolved_entity_mt.insert = registry.insert
|
||||
evolved_entity_mt.remove = registry.remove
|
||||
evolved_entity_mt.clear = registry.clear
|
||||
|
||||
function evolved_query_mt:__tostring()
|
||||
local fragment_ids = ''
|
||||
|
||||
Reference in New Issue
Block a user