示例#1
0
 private void Fire()
 {
     if (m_baseTarget != null)
     {
         m_baseTarget.DecreaseHealth(m_damage);
     }
     else
     {
         m_targets.RemoveAll((item) => { return(item == null || item.gameObject == null); });
         if (m_targets.Count == 0)
         {
             return;
         }
         int            random = (int)Mathf.Floor(Random.value * m_targets.Count);
         UnitController target = m_targets[random];
         transform.LookAt(target.transform);
         target.DecreaseHealth(m_damage);
     }
 }
示例#2
0
    private void Fire()
    {
        if (m_baseTarget != null)
        {
            m_baseTarget.DecreaseHealth(m_damage);
        }
        else
        {
            m_targets.RemoveAll((item) => { return(item == null || item.gameObject == null); });
            if (m_targets.Count == 0)
            {
                return;
            }
            int             random = (int)Mathf.Floor(Random.value * m_targets.Count);
            EnemyController target = m_targets[random];

            m_agent.isStopped = true;
            LookAt(target.transform.position);
            target.DecreaseHealth(m_damage);

            m_currentCooldown = m_cooldown;
        }
    }