extends Walk class_name Slash var finished := false const slash_walk_speed := 4.0 func should_enter(input: InputPacket) -> String: if finished: input.actions.sort_custom(moves_priority_sort) return input.actions[0] return "slash" func update(input: InputPacket, delta: float): player.velocity = get_new_velocity_from_input(input, delta, slash_walk_speed) player.move_and_slide() update_skin(delta) func on_enter_state(): finished = false player.skin.animation_tree.animation_finished.connect(_on_animation_finished) player.skin.transition_slash() func _on_animation_finished(_name: String): # TODO: make sure animation is finished by using name finished = true player.skin.animation_tree.animation_finished.disconnect(_on_animation_finished)