extends Node const defaultVolume:float = 0.0; func _ready(): StartMenuMusic(); func StartMenuMusic(): var tween = $Tween; if tween.is_active(): yield (tween, "tween_all_completed") var audioPlayer = $Tween / AudioStreamPlayer; var lowVolume = - 80.0; var fadeMusicTime = 2.0; audioPlayer.volume_db = lowVolume; audioPlayer.stream = load("res://resources/audio/bgm/1.ogg"); tween.interpolate_property(audioPlayer, "volume_db", lowVolume, defaultVolume, fadeMusicTime, Tween.TRANS_EXPO, 0) audioPlayer.play(0.0); tween.start(); func StopMenuMusic(): var tween = $Tween; var audioPlayer = $Tween / AudioStreamPlayer; var lowVolume = - 80.0; var fadeMusicTime = 1.0; tween.interpolate_property(audioPlayer, "volume_db", defaultVolume, lowVolume, fadeMusicTime, Tween.TRANS_EXPO, 0) tween.start(); yield (tween, "tween_all_completed") audioPlayer.stop() func SetBGM(bgmIndex): var bgmPath = "res://resources/audio/bgm/" + bgmIndex + ".ogg" if bgmIndex == "Survive": bgmPath = "res://resources/audio/bgm/Survive.ogg" Dialogic.set_variable("CurrentBGM", bgmIndex) var bgmStreamPlaying = $TweenBGM.bgmStream.is_playing() if bgmPath == "res://resources/audio/bgm/99.ogg": $TweenBGM.StopBGM(); elif bgmStreamPlaying: $TweenBGM.ChangeBGM(bgmPath) else : $TweenBGM.PlayBGM(bgmPath) GallerySingleton.AddMusic(bgmIndex); func SetSFXforBGM(sfxPath): var player = $TweenBGMsfx.bgmStream; if player.stream != null and player.stream.resource_path == sfxPath and not $TweenBGMsfx.isStoping: return ; if player.is_playing(): $TweenBGMsfx.ChangeBGM(sfxPath) else : $TweenBGMsfx.PlayBGM(sfxPath) func SetSFXforBGMNoFade(sfxPath): var player = $TweenBGMsfx.bgmStream; if player.stream != null and player.stream.resource_path == sfxPath and not $TweenBGMsfx.isStoping: return ; if player.is_playing(): $TweenBGMsfx.ChangeBGMNoFade(sfxPath) else : $TweenBGMsfx.PlayBGMNoFade(sfxPath) func StopSFX(): var sfxStreamPlaying = $TweenBGMsfx.bgmStream.is_playing() if (sfxStreamPlaying): $TweenBGMsfx.StopBGM() func SetTriptych(bgmName): var bgmPath = "res://resources/audio/bgm/" + bgmName + ".ogg" Dialogic.set_variable("CurrentBGM", bgmName) var bgmStreamPlaying = $TweenBGM.bgmStream.is_playing() if not "tript" in $TweenBGM.bgmStream.stream.resource_path: $TweenBGM.PlayBGM(bgmPath) return ; if bgmStreamPlaying: $TweenBGM.SetNextTriptych(bgmPath); else : $TweenBGM.PlayBGM(bgmPath) GallerySingleton.AddMusic("29");