Esempio n. 1
0
 void SetNewCurrentSpot()
 {
     if ((myState == AIState.Neutral || myState == AIState.Amused) && currentAttractionCircle != null)
     {
         float   distanceMin = Mathf.Infinity;
         AISpots newSpot     = null;
         for (int i = 0; i < currentAttractionCircle.mySpots.Length; i++)
         {
             if (currentAttractionCircle.mySpots[i].availability)
             {
                 if (Vector3.Distance(transform.position, currentAttractionCircle.mySpots[i].transform.position) < distanceMin)
                 {
                     distanceMin = Vector3.Distance(transform.position, currentAttractionCircle.mySpots[i].transform.position);
                     newSpot     = currentAttractionCircle.mySpots[i];
                 }
             }
         }
         if (currentSpot != null)
         {
             currentSpot.availability = true;
         }
         if (newSpot != null)
         {
             currentSpot = newSpot;
             currentSpot.availability = false;
         }
     }
     else if (currentSpot != null)
     {
         currentSpot.availability = true;
         currentSpot = null;
     }
 }
Esempio n. 2
0
 void ResetAttractionCirclesAndSpots()
 {
     currentAttractionCircle = null;
     if (currentSpot != null)
     {
         currentSpot.availability = true;
         currentSpot = null;
     }
 }