One_Eleven_Android/scripts/BGMScene.gd
2024-11-10 03:34:28 +03:00

97 lines
2.5 KiB
GDScript

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");