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

53 lines
1.0 KiB
GDScript
Raw Normal View History

class_name Grave
extends Node2D
@export var pair: Grave
@export var jingle: AudioStream
@onready var animation_player: AnimationPlayer = $AnimationPlayer
@onready var audio_player: AudioStreamPlayer2D = $AudioStreamPlayer2D
@export var test = false
var is_singing = false
var is_finished = false
@export var last_used_tick = 60
func _ready():
pass # Replace with function body.
func _process(delta):
if last_used_tick > 0:
last_used_tick -= 1
if test and last_used_tick <= 0:
complete()
pair.complete()
pass
func _physics_process(delta):
pass
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