private IEnumerator Attacking()
    {
        float atAttack = -coolTime;

        while (true)
        {
            yield return(new WaitForEndOfFrame());

            if (Time.time < atAttack + coolTime)
            {
                continue;
            }

            Character target = GetSkillTarget();
            if (target == null)
            {
                continue;
            }

            animator.Attack();
            if (targettingSkill)
            {
                skill.Active(target, OnAttack, OnKill);
            }
            else
            {
                skill.Active(enemyTags, OnAttack, OnKill);
            }

            atAttack = Time.time;
        }
    }
示例#2
0
 public bool Attack()
 {
     if (!CanActive())
     {
         return(false);
     }
     attack.Active(this);
     return(true);
 }