From 96b486ed24410b916540f26a5278c6a1edb90952 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Thu, 30 Dec 2021 12:03:54 -0700 Subject: [PATCH] skip voice tracks when skipping dialogue --- src/hollywoo_flixel/FlxDirector.hx | 1 + src/hollywoo_flixel/FlxDirector.kiss | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/hollywoo_flixel/FlxDirector.hx b/src/hollywoo_flixel/FlxDirector.hx index d970103..4f28756 100644 --- a/src/hollywoo_flixel/FlxDirector.hx +++ b/src/hollywoo_flixel/FlxDirector.hx @@ -15,6 +15,7 @@ import flixel.util.FlxColor; import flixel.text.FlxText; import flixel.system.FlxSound; import flixel.util.FlxTimer; +import haxe.Constraints; @:build(kiss.Kiss.build()) class FlxDirector implements Director {} diff --git a/src/hollywoo_flixel/FlxDirector.kiss b/src/hollywoo_flixel/FlxDirector.kiss index 24795dc..3b7fcfe 100644 --- a/src/hollywoo_flixel/FlxDirector.kiss +++ b/src/hollywoo_flixel/FlxDirector.kiss @@ -126,13 +126,20 @@ (sound.play) (unless waitForEnd (cc))) +(var DELAY_BETWEEN_VOICE_TRACKS 0.1) +(prop :Map restoreOriginalVolumes (new Map)) (method :Void playVoiceTrack [:FlxSound track :Float volumeMod :Float start :Float end :Continuation cc] (let [originalVolume track.volume restoreOriginalVolume ->(set track.volume originalVolume)] + (dictSet restoreOriginalVolumes track restoreOriginalVolume) (*= track.volume volumeMod) - (set track.onComplete ->{(restoreOriginalVolume) (movie.delay 0.1 cc)})) + (set track.onComplete ->{(restoreOriginalVolume) (movie.delay DELAY_BETWEEN_VOICE_TRACKS cc)})) (track.play true (* 1000 start) (* 1000 end))) +(method :Void stopVoiceTrack [:FlxSound track] + (track.stop) + ((dictGet restoreOriginalVolumes track))) + (prop &mut :FlxSound music) (prop MUSIC_FADE_SEC 1) (prop MUSIC_FADE_STEPS 10)