funnymemellama/Suit.gd

41 lines
948 B
GDScript

extends Area3D
@onready
var _grab_sound: AudioStreamPlayer3D = $GrabSound
@onready
var _song: AudioStreamPlayer = $Song
@onready
var _anim: AnimationPlayer = $AnimationPlayer
var _activated = false
func _ready():
_grab_sound.finished.connect(_on_sound_finished)
_song.finished.connect(_on_sound_finished)
var animation: Animation = _anim.get_animation('fade')
var track = animation.find_track('Song:volume_db', Animation.TrackType.TYPE_BEZIER)
var time = _song.stream.get_length()
animation.length = time
animation.bezier_track_insert_key(track, time, -80, Vector2(-0.25, 0))
func _process(delta):
print(_song.volume_db)
func _on_body_entered(body):
if _activated: return
if body.is_in_group('Players'):
_activated = true
hide()
_anim.play('fade')
_grab_sound.play()
_song.play()
func _on_sound_finished():
# Make sure both sounds are done playing
if not _grab_sound.playing and not _song.playing:
queue_free()