generated from SGDA/GodotExampleProject
feat: lvl 3 skeleton and logic
This commit is contained in:
@ -7,26 +7,96 @@ extends Node2D
|
||||
|
||||
@export var vies = 3
|
||||
|
||||
@onready var lights: Node2D = $Lights
|
||||
|
||||
@onready var wrong_hack: Interactible = %WrongHack
|
||||
@onready var right_hack: Interactible = %RightHack
|
||||
|
||||
@onready var wrong_door: Interactible = $GetOutDoors/WrongDoor
|
||||
@onready var right_door: Interactible = $GetOutDoors/RightDoor
|
||||
|
||||
@onready var timer_between_vo: Timer = $TimerBetweenVO
|
||||
var is_interjection_next = false
|
||||
var current_info: int = 0
|
||||
|
||||
@onready var vo_prise_tiree: AudioStreamPlayer2D = $Hack/VOPriseTiree
|
||||
@onready var vo_interjection: AudioStreamPlayer2D = $Hack/VOInterjection
|
||||
@onready var interact: AudioStreamPlayer2D = $Player/Interact
|
||||
@onready var vo_trop_proche: AudioStreamPlayer2D = $Hack/VOTropProche
|
||||
@onready var vo_player_1: AudioStreamPlayer2D = $Hack/VOPlayer1
|
||||
@onready var vo_player_2: AudioStreamPlayer2D = $Hack/VOPlayer2
|
||||
@onready var vo_player_3: AudioStreamPlayer2D = $Hack/VOPlayer3
|
||||
@onready var vo_player_4: AudioStreamPlayer2D = $Hack/VOPlayer4
|
||||
@onready var vo_player_5: AudioStreamPlayer2D = $Hack/VOPlayer5
|
||||
@onready var vo_player_6: AudioStreamPlayer2D = $Hack/VOPlayer6
|
||||
@onready var vo_player_7: AudioStreamPlayer2D = $Hack/VOPlayer7
|
||||
@onready var vo_player_8: AudioStreamPlayer2D = $Hack/VOPlayer8
|
||||
@onready var vo_player_9: AudioStreamPlayer2D = $Hack/VOPlayer9
|
||||
@onready var vo_player_10: AudioStreamPlayer2D = $Hack/VOPlayer10
|
||||
var vo_players: Array[AudioStreamPlayer2D] = []
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
GUIDE.enable_mapping_context(base_mode)
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
wrong_hack.activate()
|
||||
right_hack.deactivate()
|
||||
wrong_door.activate()
|
||||
right_door.deactivate()
|
||||
|
||||
vo_players.append(vo_player_1)
|
||||
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)
|
||||
|
||||
func _on_interactible_triggered(event_id: String) -> void:
|
||||
|
||||
func _on_prise_interacted(event_id: String) -> void:
|
||||
wrong_hack.deactivate()
|
||||
right_hack.activate()
|
||||
for light in lights.get_children():
|
||||
light.visible = false
|
||||
|
||||
func made_mistake() -> void:
|
||||
vies -= 1
|
||||
if vies == 0:
|
||||
SceneLoader.load_scene(golé)
|
||||
|
||||
func _on_failed_hack(event_id: String) -> void:
|
||||
made_mistake()
|
||||
interact.play()
|
||||
vo_trop_proche.play()
|
||||
|
||||
func _on_successful_hack(event_id: String) -> void:
|
||||
right_door.activate()
|
||||
wrong_door.deactivate()
|
||||
interact.play()
|
||||
vo_prise_tiree.play()
|
||||
right_door.visible = true
|
||||
|
||||
func _on_interactible_triggered(event_id: String) -> void:
|
||||
made_mistake()
|
||||
interact.play()
|
||||
|
||||
func _on_wrong_door_event_triggered(event_id: String) -> void:
|
||||
SceneLoader.load_scene(golé)
|
||||
|
||||
|
||||
func _on_right_door_event_triggered(event_id: String) -> void:
|
||||
SceneLoader.load_scene(next_level) # Replace with function body.
|
||||
|
||||
func _on_timer_between_vo_timeout() -> void:
|
||||
if is_interjection_next:
|
||||
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
|
||||
|
Reference in New Issue
Block a user