public AI_DestinationPoint GetRandomPoint(AI_DestinationPoint currentPoint)
 {
     List<AI_DestinationPoint> destinations = new List<AI_DestinationPoint>();
     for (int i = 0; i < freeDestinationPoint.Count; i++) {
         if (freeDestinationPoint[i].isActive)
             destinations.Add(freeDestinationPoint[i]);
     }
     AI_DestinationPoint destination = destinations[Random.Range(0, destinations.Count)];
     //Change Lists
     if (occupiedDestinationPoint.Contains(currentPoint)) {
         RemovePointToOccupied(currentPoint);
     }
     AddPointToOccupied(destination);
     return destination;
 }
Пример #2
0
 public override void Execute()
 {
     destination = Girl_AI.possibleDestinations.GetRandomPoint(girlAI.currentPos);
     girlAI.currentPos = destination;
     girlAI.girlPathingAI.destination = destination.position;
     desiredRotation = Random.Range(0f, 360f);
     if (girlPos == null) girlPos = girlAI.gameObject.transform;
     time = 0;
     girlAI.anim.SetBool("isMoving", true);
 }
 void RemovePointToOccupied(AI_DestinationPoint currentPoint)
 {
     occupiedDestinationPoint.Remove(currentPoint);
     freeDestinationPoint.Add(currentPoint);
     currentPoint.isOccupied = false;
 }
 void AddPointToOccupied(AI_DestinationPoint destination)
 {
     occupiedDestinationPoint.Add(destination);
     freeDestinationPoint.Remove(destination);
     destination.isOccupied = true;
 }
 public AI_DestinationPointsList(AI_DestinationPoint[] array)
 {
     freeDestinationPoint = new List<AI_DestinationPoint>(array);
 }