Increment component id

This commit is contained in:
Ukendio 2024-05-03 15:31:16 +02:00
parent 21f71f803d
commit c5daddd505

View file

@ -265,9 +265,9 @@ local topoRuntime = {
-- It should not be accessible through indexing into a component instance directly.
local DIAGNOSTIC_COMPONENT_MARKER = {}
local nextId = 0
local function newComponent(name, defaultData)
name = name or debug.info(2, "s") .. "@" .. debug.info(2, "l")
assert(
defaultData == nil or type(defaultData) == "table",
"if component default data is specified, it must be a table"
@ -320,6 +320,9 @@ local function newComponent(name, defaultData)
return patch
end
nextId += 1
local id = nextId
setmetatable(component, {
__call = function(_, ...)
return component.new(...)
@ -327,6 +330,9 @@ local function newComponent(name, defaultData)
__tostring = function()
return name
end,
__len = function()
return id
end,
[DIAGNOSTIC_COMPONENT_MARKER] = true,
})