stopWaitForInput needs to check for same cc

This commit is contained in:
2023-03-08 09:47:52 -07:00
parent 6832bf4715
commit a1d5647446
3 changed files with 7 additions and 6 deletions

View File

@@ -75,8 +75,9 @@
(method :Void startWaitForInput [:Continuation cc] (method :Void startWaitForInput [:Continuation cc]
(set nextCC cc)) (set nextCC cc))
(method :Void stopWaitForInput [] (method :Void stopWaitForInput [:Continuation cc]
(set nextCC null)) (when (= nextCC cc)
(set nextCC null)))
(var TITLE_Y 240) (var TITLE_Y 240)
(var TITLE_SIZE 72) (var TITLE_SIZE 72)

View File

@@ -43,7 +43,7 @@ interface Director<Set:Cloneable<Set>, ScreenPosition, Actor, Sound, Song, Prop,
function playVoiceTrack(track:VoiceTrack, volumeMod:Float, start:Float, end:Float, cc:Continuation):Void; function playVoiceTrack(track:VoiceTrack, volumeMod:Float, start:Float, end:Float, cc:Continuation):Void;
function stopVoiceTrack(track:VoiceTrack):Void; function stopVoiceTrack(track:VoiceTrack):Void;
function startWaitForInput(cc:Continuation):Void; function startWaitForInput(cc:Continuation):Void;
function stopWaitForInput():Void; function stopWaitForInput(cc:Continuation):Void;
function showDialog(speakerName:String, type:SpeechType<Actor>, wryly:String, dialog:String, cc:Continuation):Void; function showDialog(speakerName:String, type:SpeechType<Actor>, wryly:String, dialog:String, cc:Continuation):Void;
function hideDialog():Void; function hideDialog():Void;
function showTitleCard(text:Array<String>, cc:Continuation):Void; function showTitleCard(text:Array<String>, cc:Continuation):Void;

View File

@@ -193,20 +193,20 @@
(let [autoDelay (let [autoDelay
(Timer.delay (Timer.delay
->{ ->{
(director.stopWaitForInput) (director.stopWaitForInput cc)
(cc) (cc)
} }
(* 1000 sec))] (* 1000 sec))]
(director.startWaitForInput (director.startWaitForInput
->{ ->{
(director.stopWaitForInput) (director.stopWaitForInput cc)
(autoDelay.stop) (autoDelay.stop)
(cc) (cc)
}))) })))
(Manual (Manual
(director.startWaitForInput (director.startWaitForInput
->{ ->{
(director.stopWaitForInput) (director.stopWaitForInput cc)
(cc) (cc)
})) }))
(otherwise (throw "Unsupported delay type $delayHandling")))) (otherwise (throw "Unsupported delay type $delayHandling"))))