This repository has been archived on 2024-09-30. You can view files and clone it, but cannot push or open issues/pull-requests.
gbjam12/puzzles/grave/grave.gd

49 lines
992 B
GDScript
Raw Permalink Normal View History

class_name Grave
extends PuzzleElement
@export var pair: Grave
@export var jingle: AudioStream
@onready var animation_player: AnimationPlayer = $AnimationPlayer
@onready var audio_player: AudioStreamPlayer2D = $AudioStreamPlayer2D
@onready var manager: GravePuzzle = $"../"
var is_singing = false
var is_finished = false
func _ready():
pass # Replace with function body.
func _process(delta):
pass
func _physics_process(delta):
pass
2024-09-16 23:25:08 +03:00
func interact(player: Player):
manager.activate_grave(self)
func sing():
if is_finished:
return
animation_player.play(&"sing")
if !audio_player.is_playing():
audio_player.stream = jingle
audio_player.play()
func complete():
if is_finished:
return
animation_player.play(&"complete")
if !audio_player.is_playing():
audio_player.stream = jingle
audio_player.play()
is_finished = true
func _on_animation_player_animation_finished(anim_name):
if anim_name == &"sing":
animation_player.play(&"RESET")
is_singing = false