fix pause menu bugs

This commit is contained in:
2023-05-10 14:40:03 -06:00
parent 1ddaf17991
commit ed8d756d2e
2 changed files with 20 additions and 13 deletions

View File

@@ -22,6 +22,7 @@ import flixel.util.FlxTimer;
import flixel.math.FlxPoint; import flixel.math.FlxPoint;
import haxe.Constraints; import haxe.Constraints;
import kiss_flixel.SpriteTools; import kiss_flixel.SpriteTools;
import kiss_flixel.SimpleWindow;
import haxe.ds.Option; import haxe.ds.Option;
import kiss_tools.KeyShortcutHandler; import kiss_tools.KeyShortcutHandler;
import kiss_tools.FlxKeyShortcutHandler; import kiss_tools.FlxKeyShortcutHandler;

View File

@@ -51,16 +51,21 @@
(when music (when music
(resumeAndUpdateCurrentVolume [music] musicVolume))) (resumeAndUpdateCurrentVolume [music] musicVolume)))
(prop &mut :SimpleWindow pauseMenu null)
(method :Void showPauseMenu [:Continuation resume] (method :Void showPauseMenu [:Continuation resume]
// register escape to resume (and register escape to pause when resuming lol) // register escape to resume (and register escape to pause when resuming lol)
(sh.registerItem "{escape} resume" ->cc { (sh.registerItem "{escape} resume" ->cc {
(pauseMenu.hide)
(sh.registerItem "{escape} pause" ->cc (showPauseMenu cc) true) (sh.registerItem "{escape} pause" ->cc (showPauseMenu cc) true)
(resume) (resume)
} true) } true)
(chooseString "PAUSED" ["Resume" "Options" "Main Menu" "Quit to Desktop"] (chooseString "PAUSED" ["Resume" "Options" "Main Menu" "Quit to Desktop"]
->choice ->choice
(case choice (case choice
("Resume" (resume)) ("Resume"
(sh.registerItem "{escape} pause" ->cc (showPauseMenu cc) true)
(resume))
("Options" ("Options"
(sh.registerItem "{escape} nil" ->cc {} true) (sh.registerItem "{escape} nil" ->cc {} true)
(MenuState.optionsMenu ->(showPauseMenu resume))) (MenuState.optionsMenu ->(showPauseMenu resume)))
@@ -123,18 +128,19 @@
(var &mut :FlxMouseEventManager mm null) (var &mut :FlxMouseEventManager mm null)
(method :Void chooseString [:String prompt :Array<String> choices :String->Void submit] (method :Void chooseString [:String prompt :Array<String> choices :String->Void submit]
(kiss_flixel.SimpleWindow.promptForChoice (set pauseMenu
prompt (kiss_flixel.SimpleWindow.promptForChoice
choices prompt
submit choices
FlxColor.BLACK submit
FlxColor.WHITE FlxColor.BLACK
0.8 FlxColor.WHITE
0.8 0.8
true 0.8
"" true
"left" ""
"right")) "left"
"right")))
(method :Void defineFlxPoint [:FlxPoint->Void submit] (method :Void defineFlxPoint [:FlxPoint->Void submit]
(unless mm (unless mm