Files
Kalulu/sources/kalulu_animator.gd
Adrien Ufferte 2413f2a80e Kalulu animations
2026-02-13 14:17:46 +01:00

36 lines
857 B
GDScript

extends AnimatedSprite2D
const TALK_SPECIALS: Array[StringName] = [&"Talk_blink", &"Talk_ear_bend", &"Talk_ear_wiggle"]
var blink_counter: int = 0
var blink_delay: int = 3
var blink_random: int = 3
var talk_counter: int = 0
var talk_delay: int = 3
var talk_random: int = 3
func _on_animation_finished() -> void:
if animation in [&"Hide", &"Show"]:
return
match animation:
&"Idle":
blink_counter -= 1
if blink_counter <= 0:
blink_counter = blink_delay + randi_range(0, blink_random)
play(&"Idle_blink")
else:
play(&"Idle")
&"Idle_blink":
play(&"Idle")
&"Talk":
talk_counter -= 1
if talk_counter <= 0:
talk_counter = talk_delay + randi_range(0, talk_random)
play(TALK_SPECIALS.pick_random() as StringName)
else:
play(&"Talk")
&"Talk_blink", &"Talk_ear_bend", &"Talk_ear_wiggle":
play(&"Talk")