extends Node2D


@onready var _animation_player:AnimationPlayer = %AnimationPlayer
@onready var _progress_bar:ProgressBar = %ProgressBar

@export var jump_action:GUIDEAction
@export var somersault_action:GUIDEAction

func _ready():
	jump_action.triggered.connect(_play.bind("jump"))
	somersault_action.triggered.connect(_play.bind("somersault"))
	somersault_action.ongoing.connect(_update_progress_bar)
	somersault_action.triggered.connect(_hide_progress_bar)
	somersault_action.cancelled.connect(_hide_progress_bar)
	
func _play(animation:String):
	if _animation_player.is_playing():
		return
		
	_animation_player.play(animation)
	
func _update_progress_bar():
	# exceeds tap time
	if somersault_action.elapsed_seconds > 0.1:
		_progress_bar.value = somersault_action.elapsed_ratio
		_progress_bar.visible = true

func _hide_progress_bar():
	_progress_bar.visible = false
