diff --git a/sonic-boost.love/core/modules/menusystem/init.lua b/sonic-boost.love/core/modules/menusystem/init.lua index 499e659..68b0dec 100644 --- a/sonic-boost.love/core/modules/menusystem/init.lua +++ b/sonic-boost.love/core/modules/menusystem/init.lua @@ -15,12 +15,10 @@ MenuSystem.Widget = require(cwd .. "widgets") function MenuSystem:new() self.menus = {} - self.virtualpad = game.input --VirtualPad(1) end function MenuSystem:reset() self.menus = {} - self.virtualpad = game.input --VirtualPad(1) end function MenuSystem:addMenu(menu) @@ -34,8 +32,8 @@ function MenuSystem:update(dt) v:update(dt) v:updateWidgets(dt) if v.haveFocus == true then - for k,w in pairs(self.virtualpad.keys) do - if self.virtualpad.keys[k].isPressed then + for k,w in pairs(self.keys) do + if self.keys[k].isPressed then v:keyreleased(k) end end diff --git a/sonic-boost.love/core/modules/scenes.lua b/sonic-boost.love/core/modules/scenes.lua index a46faff..61b8afb 100644 --- a/sonic-boost.love/core/modules/scenes.lua +++ b/sonic-boost.love/core/modules/scenes.lua @@ -24,12 +24,14 @@ local Scene = Object:extend() local Assets = require "core.modules.assets" +local MenuSystem = require "core.modules.menusystem" function Scene:new() self.mouse = {} self.mouse.x, self.mouse.y = core.screen:getMousePosition() - self.assets = Assets() + self.assets = Assets() + self.menusystem = MenuSystem() end function Scene:register() diff --git a/sonic-boost.love/core/scenemanager.lua b/sonic-boost.love/core/scenemanager.lua index a3b5362..a115367 100644 --- a/sonic-boost.love/core/scenemanager.lua +++ b/sonic-boost.love/core/scenemanager.lua @@ -34,7 +34,9 @@ function SceneManager:update(dt) if (self.currentScene ~= nil) then local keys = self.controller.input.keys self.currentScene.keys = keys + self.currentScene.menusystem.keys = keys self.currentScene.assets:update(dt) + self.currentScene.menusystem:update(dt) self.currentScene:update(dt) end end @@ -43,10 +45,12 @@ function SceneManager:mousemoved(x, y, dx, dy) self.currentScene.mouse.x, self.currentScene.mouse.y = x, y self.currentScene:mousemoved(x, y, dx, dy) + self.currentScene.menusystem:mousemoved(x, y, dx, dy) end function SceneManager:mousepressed( x, y, button, istouch ) self.currentScene:mousepressed( x, y, button, istouch ) + self.currentScene.menusystem:mousepressed( x, y, button, istouch ) end function SceneManager:clearScene()