modification de la scène de cockpit et ajout de lien entre les scènes
This commit is contained in:
@@ -20,9 +20,9 @@ func _ready():
|
||||
player.stop()
|
||||
|
||||
fetch_default_volumes()
|
||||
setup_volume()
|
||||
# setup_players_bus()
|
||||
settings.sound_changed.connect(
|
||||
func(_s) : setup_volume()
|
||||
func(_s) : setup_players_bus()
|
||||
)
|
||||
SceneManager.scene_loaded.connect(_on_change_scene)
|
||||
Dialogic.timeline_started.connect(_on_timeline_started)
|
||||
@@ -120,21 +120,17 @@ func fetch_default_volumes():
|
||||
for player in all_players:
|
||||
default_volumes[player] = player.volume_db
|
||||
|
||||
func setup_volume():
|
||||
func setup_players_bus():
|
||||
for player in get_all_players():
|
||||
player.volume_db = get_volume_from_parent(player)
|
||||
if player.get_parent() == %Musics:
|
||||
player.bus = (AudioServer.get_bus_name(SettingsData.MUSIC_BUS_ID))
|
||||
elif player.get_parent() == %Sfx:
|
||||
player.bus = (AudioServer.get_bus_name(SettingsData.SFX_BUS_ID))
|
||||
elif player.get_parent() == %Ambiance:
|
||||
player.bus = (AudioServer.get_bus_name(SettingsData.AMBIANCE_BUS_ID))
|
||||
|
||||
func get_volume_from_parent(player : AudioStreamPlayer) -> float:
|
||||
var settings_volume = 0.5
|
||||
|
||||
if player.get_parent() == %Ambiance:
|
||||
settings_volume = settings.ambiance_volume
|
||||
elif player.get_parent() == %Sfx:
|
||||
settings_volume = settings.sfx_volume
|
||||
elif player.get_parent() == %Musics:
|
||||
settings_volume = settings.music_volume
|
||||
|
||||
return default_volumes[player] + lerp(MIN_VOLUME, MAX_VOLUME, settings_volume)
|
||||
func get_volume(player : AudioStreamPlayer) -> float:
|
||||
return default_volumes[player]
|
||||
|
||||
func get_all_players() -> Array[AudioStreamPlayer]:
|
||||
var players : Array[AudioStreamPlayer] = []
|
||||
@@ -167,17 +163,17 @@ func start_player(player: AudioStreamPlayer, from_random_time = false, fade_time
|
||||
)
|
||||
if fade_time > 0.0:
|
||||
player.volume_db = MIN_VOLUME
|
||||
await set_volume(player, get_volume_from_parent(player), fade_time).finished
|
||||
await set_volume(player, get_volume(player), fade_time).finished
|
||||
|
||||
func stop_player(player : AudioStreamPlayer, fade_time = DEFAULT_FADE_TIME):
|
||||
if player and player.playing:
|
||||
if fade_time > 0.0:
|
||||
await set_volume(player, MIN_VOLUME, fade_time).finished
|
||||
player.stop()
|
||||
player.volume_db = get_volume_from_parent(player)
|
||||
player.volume_db = get_volume(player)
|
||||
|
||||
func reset_volume(player : AudioStreamPlayer):
|
||||
player.volume_db = get_volume_from_parent(player)
|
||||
player.volume_db = get_volume(player)
|
||||
|
||||
func play_sfx(sfx_name : String):
|
||||
var player := %Sfx.find_child(sfx_name) as AudioStreamPlayer
|
||||
|
||||
Reference in New Issue
Block a user