Esempio n. 1
0
 public void RefreshUnitState()
 {
     if (!SelfBaseUnit.IsLive)
     {
         return;
     }
     UnitsEnemy.Clear();
     UnitsAlly.Clear();
     UnitsSelf.Clear();
     foreach (var item in Units)
     {
         if (SelfBaseUnit.IsEnemy(item))
         {
             UnitsEnemy.Add(item);
         }
         if (SelfBaseUnit.IsSOF(item))
         {
             UnitsAlly.Add(item);
         }
         if (SelfBaseUnit.IsSelf(item))
         {
             UnitsSelf.Add(item);
         }
     }
 }
Esempio n. 2
0
 public void Clear()
 {
     foreach (var item in Units)
     {
         item.DetectionMgr.Remove(this, SelfBaseUnit);
     }
     Units.Clear();
     UnitsEnemy.Clear();
     UnitsAlly.Clear();
     UnitsSelf.Clear();
     for (int i = 0; i < ColliderResults.Length; i++)
     {
         ColliderResults[i] = null;
     }
 }
Esempio n. 3
0
        public void DoTestExit(Collider col)
        {
            if (!SelfBaseUnit.IsLive)
            {
                return;
            }
            TUnit unit = col.GetComponent <TUnit>();

            if (unit != null)
            {
                Units.Remove(unit);
                UnitsEnemy.Remove(unit);
                UnitsAlly.Remove(unit);
                UnitsSelf.Remove(unit);
                unit.DetectionMgr.Remove(this, SelfBaseUnit);
                OnExit(unit);
            }
            OnExitObject(col);
        }
Esempio n. 4
0
 public void RefreshEnemyAlly()
 {
     UnitsEnemy.Clear();
     UnitsAlly.Clear();
     UnitsSelf.Clear();
     foreach (var item in Units)
     {
         if (SelfBaseUnit.IsEnemy(item))
         {
             UnitsEnemy.Add(item);
         }
         if (SelfBaseUnit.IsSOF(item))
         {
             UnitsAlly.Add(item);
         }
         if (SelfBaseUnit.IsSelf(item))
         {
             UnitsSelf.Add(item);
         }
     }
 }
Esempio n. 5
0
        public void DoTestEnter(Collider col)
        {
            if (!SelfBaseUnit.IsLive)
            {
                return;
            }
            if (col == null)
            {
                return;
            }
            TUnit unit = col.GetComponent <TUnit>();

            if (unit != null)
            {
                if (!unit.IsLive)
                {
                    return;
                }
                Units.Add(unit);
                if (SelfBaseUnit.IsEnemy(unit))
                {
                    UnitsEnemy.Add(unit);
                }
                if (SelfBaseUnit.IsSOF(unit))
                {
                    UnitsAlly.Add(unit);
                }
                if (SelfBaseUnit.IsSelf(unit))
                {
                    UnitsSelf.Add(unit);
                }
                unit.DetectionMgr.Add(this, SelfBaseUnit);
                OnEnter(unit);
            }
            OnEnterObject(col);
        }