extends Spatial class_name Mannequiny # Controls the animation tree's transitions for this animated character. # # It has a signal connected to the player state machine, and uses the resulting # state names to translate them into the states for the animation tree. enum States {IDLE, RUN, AIR, LAND} onready var animation_tree: AnimationTree = $animation_tree onready var _playback: AnimationNodeStateMachinePlayback = animation_tree["parameters/playback"] var move_direction: = Vector3.ZERO setget set_move_direction var is_moving: = false setget set_is_moving func _ready() -> void: animation_tree.active = true func set_move_direction(direction: Vector3) -> void: move_direction = direction animation_tree["parameters/walk/blend_position"] = direction.length() func set_is_moving(value: bool) -> void: is_moving = value # animation_tree["parameters/conditions/is_moving"] = value func transition_to(state_id: int) -> void: match state_id: States.IDLE: _playback.travel("idle") States.LAND: _playback.travel("land") States.RUN: _playback.travel("walk") States.AIR: _playback.travel("jump") _: _playback.travel("idle")