31 lines
874 B
GDScript
31 lines
874 B
GDScript
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
|