You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
763 B
GDScript

2 years ago
extends AnimationPlayer
class_name Skill
@onready var view = (%View as View)
@onready var status = (%Status as Status)
2 years ago
func _ready():
pass
func _process(delta):
pass
func cast_skill(cfg:SkillCfg,cast_dir:Vector2):
2 years ago
var animation_name = "animation_library/%s" % Util.get_resource_name(cfg)
if has_animation(animation_name):
status.is_free_control = false
status.is_skill_running = true
status.skill_dir = cast_dir
status.break_level = Enum.EBreakLevel.None
play(animation_name)
else:
print("技能animation不存在",animation_name)
2 years ago
2 years ago
func cancel_skill():
status.is_free_control = true
2 years ago
status.is_skill_running = false
2 years ago
status.break_level = Enum.EBreakLevel.Walk
stop()
view.reset()
2 years ago
func _on_animation_finished(_anim_name):
cancel_skill()