class_name AnimatedSkin
-@onready var _tree: AnimationTree = %AnimationTree
+@onready var animation_tree: AnimationTree = $AnimationTree
+@onready var animation_player: AnimationPlayer = $AnimationPlayer
-func set_walking_speed(s: float):
- _tree.set("parameters/walking/blend_position", s)
+func left_hand_visible(b: bool = true):
+ %hand_L.visible = b
-func transition_move():
- _tree.set("parameters/movement/transition_request", "move")
+func right_hand_visible(b: bool = true):
+ %hand_R.visible = b
+
+func set_walking_speed(s: float):
+ animation_tree.set("parameters/walking speed/blend_position", s)
-func transition_falling():
- # TODO: falling state
- _tree.set("parameters/movement/transition_request", "move")
+### state transitions
+func transition(to_state: String):
+ animation_tree.set("parameters/state/transition_request", to_state)
+
+func transition_idle():
+ transition("idle")
-func transition_dash():
- _tree.set("parameters/movement/transition_request", "dash")
+func transition_move():
+ transition("move")
+func transition_dash():
+ transition("dash")
func transition_slash():
- _tree.set("parameters/movement/transition_request", "slash")
+ transition("slash")
+
+func transition_shoot():
+ transition("shoot")
+
+func transition_fall():
+ transition("fall")
+
+func transition_fallToRoll():
+ transition("fallToRoll")
+func transition_fallToLanding():
+ transition("fallToLanding")
-func transition_gunfire():
- _tree.set("parameters/movement/transition_request", "gunfire")
+func transition_suddenStop():
+ transition("suddenStop")