fix: lvl 2 progression

This commit is contained in:
2025-06-29 13:34:11 +02:00
parent 00ef11d3fb
commit 6440cb26a9
5 changed files with 232 additions and 30 deletions

View File

@ -26,6 +26,11 @@ var current_info = 0
@onready var vo_player_12: AudioStreamPlayer2D = $RightDoor/VOPlayer12
var vo_players: Array[AudioStreamPlayer2D] = []
var currently_playing: AudioStreamPlayer2D
var already_played_batch_1 = false
var already_played_batch_2 = false
var already_played_batch_3 = false
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
GUIDE.enable_mapping_context(base_mode)
@ -34,10 +39,12 @@ func _ready() -> void:
vo_players.append(vo_player_2)
vo_players.append(vo_player_3)
vo_players.append(vo_player_4)
vo_players.append(vo_player_5)
vo_players.append(vo_player_6)
vo_players.append(vo_player_7)
vo_players.append(vo_player_8)
vo_players.append(vo_player_9)
vo_players.append(vo_player_10)
vo_players.append(vo_player_11)
@ -49,7 +56,6 @@ func _on_interactible_triggered(event_id: String) -> void:
if vies == 0:
SceneLoader.load_scene(golé)
func _on_wrong_door_event_triggered(event_id: String) -> void:
SceneLoader.load_scene(golé)
@ -59,18 +65,107 @@ func _on_right_door_event_triggered(event_id: String) -> void:
func _on_timer_between_vo_timeout() -> void:
if is_interjection_next:
if currently_playing == null or not currently_playing.playing:
currently_playing = vo_interjection
vo_interjection.play()
is_interjection_next = not is_interjection_next
return
if current_info >= len(vo_players):
return
vo_players[current_info].play()
current_info += 1
is_interjection_next = not is_interjection_next
func _on_door_event_triggered(event_id: String) -> void:
interact.play()
func _on_first_batch_trigger_body_entered(body: Node2D) -> void:
if body.name != "Player":
return
if already_played_batch_1:
return
already_played_batch_1 = true
if currently_playing != null:
currently_playing.stop()
currently_playing = vo_player_1
vo_player_1.play()
func _on_vo_player_1_finished() -> void:
currently_playing = vo_player_2
vo_player_2.play()
func _on_vo_player_2_finished() -> void:
currently_playing = vo_player_3
vo_player_3.play()
func _on_vo_player_3_finished() -> void:
currently_playing.stop()
func _on_first_batch_trigger_2_body_entered(body: Node2D) -> void:
if body.name != "Player":
return
if already_played_batch_2:
return
already_played_batch_2 = true
currently_playing.stop()
currently_playing = vo_player_4
vo_player_4.play()
func _on_vo_player_4_finished() -> void:
currently_playing = vo_player_5
vo_player_5.play()
func _on_vo_player_5_finished() -> void:
currently_playing = vo_player_6
vo_player_6.play()
func _on_vo_player_6_finished() -> void:
currently_playing = vo_player_7
vo_player_7.play()
func _on_vo_player_7_finished() -> void:
currently_playing.stop()
func _on_first_batch_trigger_3_body_entered(body: Node2D) -> void:
if body.name != "Player":
return
if already_played_batch_3:
return
already_played_batch_3 = true
currently_playing.stop()
currently_playing = vo_player_8
vo_player_8.play()
func _on_vo_player_8_finished() -> void:
currently_playing = vo_player_9
vo_player_9.play()
func _on_vo_player_9_finished() -> void:
currently_playing = vo_player_10
vo_player_10.play()
func _on_vo_player_10_finished() -> void:
currently_playing = vo_player_11
vo_player_11.play()
func _on_vo_player_11_finished() -> void:
currently_playing = vo_player_12
vo_player_12.play()
func _on_vo_player_12_finished() -> void:
currently_playing.stop()
func _on_vo_interjection_finished() -> void:
currently_playing.stop()