fix post-proto

* ajout d'un fondu de musique au changement de phase
* résolution de bugs en tout genre
This commit is contained in:
2025-11-14 16:43:52 +01:00
parent d3ea21e212
commit dbe8f03531
37 changed files with 411 additions and 147 deletions

View File

@@ -36,7 +36,7 @@ stream_0/volume = -60.0
process_mode = 3
script = ExtResource("1_ji160")
ambiance_volume = -3.0
garden_phases_scores = Array[int]([0, 10, 30])
garden_phases_scores = Array[int]([0, 1, 30])
playing_ambiances = [NodePath("Ambiance/Default")]
[node name="Ambiance" type="Node" parent="."]

View File

@@ -27,32 +27,41 @@ func _ready():
is_ready = true
func setup_volume():
for c in %Ambiance.get_children():
var player = c as AudioStreamPlayer
player.volume_db = ambiance_volume if playing_ambiances.find(player) != -1 else MIN_VOLUME
for c in %Musics.get_children():
var player = c as AudioStreamPlayer
player.volume_db = music_volume if playing_musics.find(player) != -1 else MIN_VOLUME
for player in get_all_audio_stream():
for player in get_all_audio_streams():
player.volume_db = get_volume_from_parent(player) if playing_ambiances.find(player) != -1 else MIN_VOLUME
player.play()
setup_phase(player)
func get_volume_from_parent(player : AudioStreamPlayer) -> float:
if player.get_parent() == %Ambiance:
return ambiance_volume
return music_volume
func update_phase():
for player in get_all_audio_stream():
for player in get_all_audio_streams():
var playing : bool = player.volume_db != MIN_VOLUME
if playing:
await set_volume(player, MIN_VOLUME).finished
setup_phase(player)
if playing:
set_volume(player, get_volume_from_parent(player))
func get_all_audio_stream() -> Array[AudioStreamPlayer]:
func get_all_audio_streams() -> Array[AudioStreamPlayer]:
var all_audio_stream : Array[AudioStreamPlayer] = []
var all_children = %Ambiance.get_children()
all_children.append_array(%Musics.get_children())
all_audio_stream.append_array(get_audio_streams_from_node(%Musics))
all_audio_stream.append_array(get_audio_streams_from_node(%Ambiance))
for c in all_children:
if c is AudioStreamPlayer:
all_audio_stream.append(c)
return all_audio_stream
func get_audio_streams_from_node(node : Node) -> Array[AudioStreamPlayer]:
var streams : Array[AudioStreamPlayer] = []
for c in node.get_children():
if c is AudioStreamPlayer:
streams.append(c)
return streams
func _on_current_planet_data_updated(planet_data : PlanetData):
if planet_data:
update_garden_phase(planet_data)
@@ -64,7 +73,8 @@ func update_garden_phase(planet_data : PlanetData):
if planet_data.garden_score >= garden_phases_scores[i] and i > garden_phase:
phase = i
update_phase()
if garden_phase != phase:
update_phase()
garden_phase = phase
@@ -95,7 +105,6 @@ func setup_phase(music : AudioStreamPlayer):
0. if i == phase_stream_id else MIN_VOLUME
)
func set_volume(music : AudioStreamPlayer, to : float, fade_time = default_fade_time) -> Tween:
var fade_tween : Tween = get_tree().create_tween()

View File

@@ -19,6 +19,7 @@ colors = PackedColorArray(1, 1, 1, 0.65882355, 1, 1, 1, 0.72156864, 1, 1, 1, 0)
[node name="Particles" type="CPUParticles2D"]
amount = 1
texture = ExtResource("1_88fy1")
randomness = 0.3
emission_shape = 1
emission_sphere_radius = 30.0
gravity = Vector2(0, -20)