1
0
Fork 0
mirror of https://github.com/Reuh/ubiquitousse.git synced 2025-10-27 09:09:30 +00:00
ubiquitousse/ecs/commonsystems/children.lua

33 lines
1.9 KiB
Lua

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