From 0e43ef3e4d9a6de7a5d0dc4bebfc5b4e9fe220e4 Mon Sep 17 00:00:00 2001 From: Kazhnuz Date: Fri, 15 Feb 2019 21:39:09 +0100 Subject: [PATCH] scenes/boost: lock input just after the menu closure --- .../subgame/sonic-boost/controller/characters.lua | 7 ++++++- .../scenes/subgame/sonic-boost/controller/pause.lua | 3 ++- sonic-boost.love/scenes/subgame/sonic-boost/init.lua | 10 +++++++++- 3 files changed, 17 insertions(+), 3 deletions(-) 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()