scene selection cancel

This commit is contained in:
Trent Nelson
2023-08-02 14:13:47 -07:00
parent 56e2337aee
commit 77ef1c538e
2 changed files with 20 additions and 8 deletions

View File

@@ -79,17 +79,18 @@
(prop &mut :SimpleWindow pauseMenu null) (prop &mut :SimpleWindow pauseMenu null)
(method :Void sceneSelection [] (method :Void sceneSelection [:Continuation cancel]
// TODO map escape: back to pause menu and highlight sceneSelectionIndex // TODO map escape: back to pause menu and highlight sceneSelectionIndex
(let [runners (movie.labelRunners)] (let [runners (movie.labelRunners)]
(chooseString (_chooseString
"Skip to scene?" "Skip to scene?"
(sort (collect (runners.keys))) (sort (collect (runners.keys)))
->label { ->label {
(let [m flxMovie] (let [m flxMovie]
(m.prepareForSkip) (m.prepareForSkip)
((dictGet runners label) m.skipMovie)) ((dictGet runners label) m.skipMovie))
}))) } true)
(set pauseMenu.onClose cancel)))
(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)
@@ -109,8 +110,16 @@
(sh.registerItem "{escape} pause" ->cc (showPauseMenu cc) true) (sh.registerItem "{escape} pause" ->cc (showPauseMenu cc) true)
(resume)) (resume))
("Scene Selection" ("Scene Selection"
(sh.cancel) (localFunction backToPause []
(sceneSelection)) (set pauseMenu.onClose null)
(pauseMenu.hide)
(showPauseMenu resume)
(set pauseMenu.selectedIndex sceneSelectionIndex))
(sh.registerItem "{escape} pause" ->cc (backToPause) true)
(sceneSelection
->:Void {
(backToPause)
}))
("Options" ("Options"
(sh.cancel) (sh.cancel)
(MenuState.optionsMenu (MenuState.optionsMenu
@@ -223,6 +232,9 @@
(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]
(_chooseString prompt choices submit))
(method :Void _chooseString [:String prompt :Array<String> choices :String->Void submit &opt :Bool xButton :String xKey]
(set pauseMenu (set pauseMenu
(kiss_flixel.SimpleWindow.promptForChoice (kiss_flixel.SimpleWindow.promptForChoice
prompt prompt
@@ -232,8 +244,8 @@
FlxColor.WHITE FlxColor.WHITE
0.8 0.8
0.8 0.8
true ?xButton
"" (or xKey "")
"left" "left"
"right" "right"
"up" "up"

View File

@@ -435,5 +435,5 @@
(.registerItem (director.shortcutHandler) "skip to [l]abel" (.registerItem (director.shortcutHandler) "skip to [l]abel"
->cc ->cc
(flxDirector.sceneSelection)))) (flxDirector.sceneSelection ->:Void {}))))
}) })