mirror of
https://github.com/BlackMATov/evolved.lua.git
synced 2026-09-27 11:07:08 +07:00
new registry.set function, fix multi removing
This commit is contained in:
@@ -103,6 +103,36 @@ do
|
||||
assert(e:get(f, 42) == 21)
|
||||
end
|
||||
|
||||
do
|
||||
local f = evo.registry.entity()
|
||||
|
||||
do
|
||||
local e = evo.registry.entity()
|
||||
|
||||
assert(e == e:set(f, 42))
|
||||
assert(e:get(f) == 42)
|
||||
|
||||
assert(e == e:set(f, 21))
|
||||
assert(e:get(f) == 21)
|
||||
end
|
||||
|
||||
do
|
||||
local e = evo.registry.entity()
|
||||
|
||||
assert(not e:assign(f, 42))
|
||||
assert(e:get(f) == nil)
|
||||
|
||||
assert(e:insert(f, 42))
|
||||
assert(e:get(f) == 42)
|
||||
|
||||
assert(e:assign(f, 21))
|
||||
assert(e:get(f) == 21)
|
||||
|
||||
assert(not e:insert(f, 42))
|
||||
assert(e:get(f) == 21)
|
||||
end
|
||||
end
|
||||
|
||||
do
|
||||
local f1, f2 = evo.registry.entity(), evo.registry.entity()
|
||||
local e = evo.registry.entity()
|
||||
@@ -247,17 +277,11 @@ for _ = 1, 100 do
|
||||
assert(e2:has_all(evo.compat.unpack(insert_fragments)))
|
||||
|
||||
shuffle_array(remove_fragments)
|
||||
for _, f in ipairs(remove_fragments) do
|
||||
if e1:has(f) then
|
||||
e1:remove(f)
|
||||
end
|
||||
end
|
||||
e1:remove(evo.compat.unpack(remove_fragments))
|
||||
|
||||
shuffle_array(remove_fragments)
|
||||
for _, f in ipairs(remove_fragments) do
|
||||
if e2:has(f) then
|
||||
e2:remove(f)
|
||||
end
|
||||
e2:remove(f)
|
||||
end
|
||||
|
||||
assert(e1.__chunk == e2.__chunk)
|
||||
|
||||
Reference in New Issue
Block a user