mirror of
https://github.com/Reuh/ubiquitousse.git
synced 2025-10-27 17:19:31 +00:00
ecs: add callbackFiltered and emitFiltered
This commit is contained in:
parent
bd28610ff4
commit
aa332a0adf
20 changed files with 697 additions and 568 deletions
33
ecs/commonsystems/children.lua
Normal file
33
ecs/commonsystems/children.lua
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
return { -- ./ecs/commonsystems/children.can:12
|
||||
["name"] = "children", -- ./ecs/commonsystems/children.can:13
|
||||
["filter"] = true, -- ./ecs/commonsystems/children.can:14
|
||||
["onAdd"] = function(self, e) -- ./ecs/commonsystems/children.can:15
|
||||
if not e["children"] then -- ./ecs/commonsystems/children.can:16
|
||||
e["children"] = {} -- ./ecs/commonsystems/children.can:16
|
||||
end -- ./ecs/commonsystems/children.can:16
|
||||
if e["parent"] then -- ./ecs/commonsystems/children.can:17
|
||||
local parentchildren -- ./ecs/commonsystems/children.can:18
|
||||
parentchildren = e["parent"]["children"] -- ./ecs/commonsystems/children.can:18
|
||||
table["insert"](parentchildren, e) -- ./ecs/commonsystems/children.can:19
|
||||
end -- ./ecs/commonsystems/children.can:19
|
||||
for _, o in ipairs(e["children"]) do -- ./ecs/commonsystems/children.can:21
|
||||
o["parent"] = e -- ./ecs/commonsystems/children.can:22
|
||||
self["world"]:add(o) -- ./ecs/commonsystems/children.can:23
|
||||
end -- ./ecs/commonsystems/children.can:23
|
||||
end, -- ./ecs/commonsystems/children.can:23
|
||||
["onRemove"] = function(self, e) -- ./ecs/commonsystems/children.can:26
|
||||
for i = # e["children"], 1, - 1 do -- ./ecs/commonsystems/children.can:27
|
||||
self["world"]:remove(e["children"][i]) -- ./ecs/commonsystems/children.can:28
|
||||
end -- ./ecs/commonsystems/children.can:28
|
||||
if e["parent"] then -- ./ecs/commonsystems/children.can:30
|
||||
local parentchildren -- ./ecs/commonsystems/children.can:31
|
||||
parentchildren = e["parent"]["children"] -- ./ecs/commonsystems/children.can:31
|
||||
for i = # parentchildren, 1, - 1 do -- ./ecs/commonsystems/children.can:32
|
||||
if parentchildren[i] == e then -- ./ecs/commonsystems/children.can:33
|
||||
table["remove"](parentchildren, i) -- ./ecs/commonsystems/children.can:34
|
||||
break -- ./ecs/commonsystems/children.can:35
|
||||
end -- ./ecs/commonsystems/children.can:35
|
||||
end -- ./ecs/commonsystems/children.can:35
|
||||
end -- ./ecs/commonsystems/children.can:35
|
||||
end -- ./ecs/commonsystems/children.can:35
|
||||
} -- ./ecs/commonsystems/children.can:35
|
||||
Loading…
Add table
Add a link
Reference in a new issue