Changed how hooks work, fixed parent on root gui object

This commit is contained in:
Ryan Ward 2023-10-17 23:30:39 -04:00
parent 2bb4b8e25d
commit ae5bea943d

View File

@ -82,29 +82,25 @@ local function Hook(funcname, func)
end end
end end
-- This will run the hooks after everything has loaded Hook("quit", gui.Events.OnQuit.Fire)
updater:newLoop(function(loop) Hook("directorydropped", gui.Events.OnDirectoryDropped.Fire)
Hook("quit", gui.Events.OnQuit.Fire) Hook("displayrotated", gui.Events.OnDisplayRotated.Fire)
Hook("directorydropped", gui.Events.OnDirectoryDropped.Fire) Hook("filedropped", gui.Events.OnFilesDropped.Fire)
Hook("displayrotated", gui.Events.OnDisplayRotated.Fire) Hook("focus", gui.Events.OnFocus.Fire)
Hook("filedropped", gui.Events.OnFilesDropped.Fire) Hook("mousefocus", gui.Events.OnMouseFocus.Fire)
Hook("focus", gui.Events.OnFocus.Fire) Hook("resize", gui.Events.OnResized.Fire)
Hook("mousefocus", gui.Events.OnMouseFocus.Fire) Hook("visible", gui.Events.OnVisible.Fire)
Hook("resize", gui.Events.OnResized.Fire) Hook("keypressed", gui.Events.OnKeyPressed.Fire)
Hook("visible", gui.Events.OnVisible.Fire) Hook("keyreleased", gui.Events.OnKeyReleased.Fire)
Hook("keypressed", gui.Events.OnKeyPressed.Fire) Hook("textedited", gui.Events.OnTextEdited.Fire)
Hook("keyreleased", gui.Events.OnKeyReleased.Fire) Hook("textinput", gui.Events.OnTextInputed.Fire)
Hook("textedited", gui.Events.OnTextEdited.Fire) Hook("mousemoved", gui.Events.OnMouseMoved.Fire)
Hook("textinput", gui.Events.OnTextInputed.Fire) Hook("mousepressed", gui.Events.OnMousePressed.Fire)
Hook("mousemoved", gui.Events.OnMouseMoved.Fire) Hook("mousereleased", gui.Events.OnMouseReleased.Fire)
Hook("mousepressed", gui.Events.OnMousePressed.Fire) Hook("wheelmoved", gui.Events.OnWheelMoved.Fire)
Hook("mousereleased", gui.Events.OnMouseReleased.Fire) Hook("touchmoved", gui.Events.OnTouchMoved.Fire)
Hook("wheelmoved", gui.Events.OnWheelMoved.Fire) Hook("touchpressed", gui.Events.OnTouchPressed.Fire)
Hook("touchmoved", gui.Events.OnTouchMoved.Fire) Hook("touchreleased", gui.Events.OnTouchReleased.Fire)
Hook("touchpressed", gui.Events.OnTouchPressed.Fire)
Hook("touchreleased", gui.Events.OnTouchReleased.Fire)
loop:Destroy()
end)
-- Hotkeys -- Hotkeys
@ -264,8 +260,7 @@ function gui:getAllChildren(vis)
end end
function gui:newThread(func) function gui:newThread(func)
return updater:newThread("ThreadHandler<" .. self.type .. ">", func, self, return updater:newThread("ThreadHandler<" .. self.type .. ">", func, self, thread)
thread)
end end
function gui:setDualDim(x, y, w, h, sx, sy, sw, sh) function gui:setDualDim(x, y, w, h, sx, sy, sw, sh)
@ -472,11 +467,12 @@ function gui:newBase(typ, x, y, w, h, sx, sy, sw, sh, virtual)
end end
local function defaultCheck(...) local function defaultCheck(...)
if not c:isActive() then return end if not c:isActive() then return false end
local x, y = love.mouse.getPosition() local x, y = love.mouse.getPosition()
if c:canPress(x, y) then if c:canPress(x, y) then
return c, ... return c, ...
end end
return false
end end
setmetatable(c, gui) setmetatable(c, gui)
@ -1388,6 +1384,7 @@ gui.virtual.w = w
gui.virtual.h = h gui.virtual.h = h
-- Root gui -- Root gui
gui.parent = gui
gui.type = frame gui.type = frame
gui.children = {} gui.children = {}
gui.dualDim = gui:newDualDim() gui.dualDim = gui:newDualDim()