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; } }
void ResetAttractionCirclesAndSpots() { currentAttractionCircle = null; if (currentSpot != null) { currentSpot.availability = true; currentSpot = null; } }