public void PreapareToSkill(ActiveSkill skill) { if (character.selectedObject == null) { return; } taskRunner.BreakQueue(); Vector3 dt = character.selectedObject.transform.position - character.transform.position; float sdt = skill.distance / dt.magnitude; if (sdt < 1) { Vector3 dest = ((1 - sdt) * dt) + character.transform.position; taskRunner.AddTask(taskCreator.MoveToTask(dest)); } taskRunner.AddTask(taskCreator.RotateIsNeedTask()); taskRunner.AddTask(taskCreator.CastSkillTask(skill)); taskRunner.RunQueue(); }
public void SetSkill(ActiveSkill skill) { this.skill = skill; }