Пример #1
0
        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();
        }
Пример #2
0
 public void SetSkill(ActiveSkill skill)
 {
     this.skill = skill;
 }