Another fix for events

This commit is contained in:
Robert Jelic
2025-03-04 14:44:01 +01:00
parent a07c74d855
commit a33448c733
2 changed files with 15 additions and 9 deletions

View File

@@ -200,13 +200,20 @@ local function renderFrames()
end
end
--- Runs basalt once
--- Runs basalt once, can be used to update the UI manually, but you have to feed it the events
--- @shortDescription Runs basalt once
--- @vararg any The event to run with
--- @usage basalt.update()
function basalt.update(...)
updateEvent(...)
renderFrames()
local f = function(...)
updateEvent(...)
renderFrames()
end
local ok, err = pcall(f, ...)
if not(ok)then
errorManager.header = "Basalt Runtime Error"
errorManager.error(err)
end
end
--- Stops the Basalt runtime

View File

@@ -44,11 +44,12 @@ end
local function parseEvents(content)
local events = {}
for line in content:gmatch("[^\r\n]+") do
local name, description = line:match("%-%-%-@event%s+([%w_]+)%s+(.+)")
if name then
local functionName = name:gsub("_(%w)", function(c) return c:upper() end)
functionName = "on" .. functionName:sub(1,1):upper() .. functionName:sub(2)
-- Entferne das "on" Präfix falls vorhanden
local baseName = name:match("^on(.+)") or name
-- Konvertiere erste Buchstabe zu Großbuchstaben
local functionName = "on" .. baseName:sub(1,1):upper() .. baseName:sub(2)
events[#events + 1] = {
name = name,
@@ -127,11 +128,9 @@ local function generateClassContent(className, properties, combinedProperties, e
table.insert(content, string.format("--- Gets the %s", combinedProp.description))
table.insert(content, string.format("---@generic Element: %s", className))
table.insert(content, "---@param self Element")
local returns = {}
for _, prop in ipairs(combinedProp.properties) do
table.insert(returns, prop.type)
table.insert(content, string.format("---@return %s %s", prop.type, prop.name))
end
table.insert(content, string.format("---@return %s", table.concat(returns, " ")))
table.insert(content, string.format("function %s:get%s()",
className,
combinedProp.name:sub(1,1):upper() .. combinedProp.name:sub(2)