SyntaxGameServer/RCCService2018/content/Rhodium/Modules/Test4R/TestNode.lua

39 lines
701 B
Lua

local TestNode = {}
TestNode.__index = TestNode
function TestNode.new(text, type, modifiers)
local self = {
parent = nil,
children = {},
text = text,
type = type,
modifiers = modifiers or {},
callback = nil,
testSuccess = true,
testTouched = false,
loadSuccess = true,
errorMessage = "",
}
setmetatable(self, TestNode)
return self
end
function TestNode:addChild(node)
node.parent = self
table.insert(self.children, node)
end
function TestNode:visit(callback, level)
level = level or 0
callback(self, level);
for _, child in ipairs(self.children) do
child:visit(callback, level + 1)
end
end
function TestNode:isRoot()
return self.parent == nil
end
return TestNode