Beispiel #1
0
    public VectorAndNum Search(List <TowerShape> pool, Enemy enemy)
    {
        VectorAndNum r = new VectorAndNum();

        if (pool.Count == 0)
        {
            r.hasPool = 2;
            r.num     = -1;
            return(r);
        }
        float min      = 199000;
        float distance = 1000;

        r.num = 0;
        Vector3 v3 = new Vector3();

        for (int i = 0; i < pool.Count; i++)
        {
            distance = Vector3.Distance(pool[i].transform.localPosition, enemy.transform.localPosition);
            if (distance < min)
            {
                min   = distance;
                v3    = pool[i].transform.localPosition;
                r.num = i;
            }
        }
        r.point = v3;
        return(r);
    }
Beispiel #2
0
 public void SearchAndGo(Enemy enemy)
 {
     if (enemy.isLock)
     {
         return;
     }
     else
     {
         VectorAndNum se = new VectorAndNum();
         se = Search(towerShapes, enemy);
         enemy.navMesh.SetDestination(se.point);
         //enemy.anim.SetInteger("CommonEnemy", 1);
         if (se.num < 0)
         {
             return;
         }
     }
 }