You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
555 B
Lua

local ecs = require "ecs"
local w = ecs.world()
w:register {
name = "value",
type = "int",
}
local r = {}
for i=1, 42 do
r[i] = w:new {
value = i,
reference = true,
}
w:new {
value = -i,
}
end
for v in w:select("value:in") do
print(v.value)
if v.value < 0 then
w:remove(v)
end
end
local function read(i)
local v = w:sync("value:in", r[i])
return v.value
end
w:remove(r[1])
w:remove(r[10])
w:remove(r[20])
w:remove(r[30])
w:update()
for i=1,42 do
print(pcall(read,i))
end
for v in w:select("value:in") do
print(v.value)
end