diff --git a/sonic-boost.love/scenes/subgame/sonic-boost/controller/characters.lua b/sonic-boost.love/scenes/subgame/sonic-boost/controller/characters.lua index 0e8f46a..6b4dd83 100644 --- a/sonic-boost.love/scenes/subgame/sonic-boost/controller/characters.lua +++ b/sonic-boost.love/scenes/subgame/sonic-boost/controller/characters.lua @@ -100,7 +100,12 @@ function Player:new(manager, playerid, character, rail) end function Player:getKeys() - return self.controller.keys + if self.controller.areInputsLocked then + self.controller.areInputsLocked = false + return core.input.fakekeys + else + return self.controller.keys + end end function Player:wrapActor() diff --git a/sonic-boost.love/scenes/subgame/sonic-boost/controller/pause.lua b/sonic-boost.love/scenes/subgame/sonic-boost/controller/pause.lua index 24f175b..bd1a296 100644 --- a/sonic-boost.love/scenes/subgame/sonic-boost/controller/pause.lua +++ b/sonic-boost.love/scenes/subgame/sonic-boost/controller/pause.lua @@ -42,7 +42,7 @@ function ResumeWidget:action() self.menu.isActive = false self.menu.isVisible = false self.menu.controller.assets.isActive = true - self.menu.controller:flushKeys() + self.menu.controller:lockInputs() end function RestartWidget:new(menu, font) @@ -50,6 +50,7 @@ function RestartWidget:new(menu, font) end function RestartWidget:action() + self.menu.controller:lockInputs() self.menu.controller:restartLevel() end diff --git a/sonic-boost.love/scenes/subgame/sonic-boost/init.lua b/sonic-boost.love/scenes/subgame/sonic-boost/init.lua index 27f1b4c..3d9584d 100644 --- a/sonic-boost.love/scenes/subgame/sonic-boost/init.lua +++ b/sonic-boost.love/scenes/subgame/sonic-boost/init.lua @@ -45,6 +45,10 @@ function BoostLevel:new() --self.characters:newDummy("sonic", 3) --self.characters:newDummy("sonic", 4) + if self.areInputsLocked == nil then + self.areInputsLocked = false + end + self:register() end @@ -122,6 +126,10 @@ function BoostLevel:update(dt) end end +function BoostLevel:lockInputs() + self.areInputsLocked = true +end + function BoostLevel:draw() self.background:draw() @@ -142,7 +150,7 @@ function BoostLevel:restartLevel() end function BoostLevel:exitLevel() - Gamestate.switch(Scenes.options) + scenes.title() end function BoostLevel:leave()