Пример #1
0
 private void RestartAllAtATime()
 {
     foreach (Agent agent in listAgents)
     {
         agent.AgentDied += OnAgentDied;
         RaceDrone drone = CreateDrone(agent);
         drone.Drone.Restart();
         drone.CheckpointIndex = 1;
         AgentsAliveCount++;
         drones.Add(drone);
     }
 }
Пример #2
0
    //Create a new RaceDrone from the prototype
    private RaceDrone CreateDrone(Agent agent)
    {
        GameObject droneCopy = Instantiate(PrototypeDrone.gameObject);

        droneCopy.transform.position = startPosition;
        droneCopy.transform.rotation = startRotation;
        DroneController controllerCopy = droneCopy.GetComponent <DroneController>();

        droneCopy.SetActive(true);
        RaceDrone raceDrone = new RaceDrone(controllerCopy, 1);

        raceDrone.Drone.Agent = agent;
        return(raceDrone);
    }
Пример #3
0
    private void UpdateAllDrones()
    {
        for (int i = 0; i < drones.Count; i++)
        {
            RaceDrone drone = drones[i];
            if (drone.Drone.enabled)
            {
                drone.Drone.CurrentCompletionReward = GetCompletePerc(drone.Drone, ref drone.CheckpointIndex);

                //Update best Drone
                if (BestDrone == null || drone.Drone.CurrentCompletionReward >= BestDrone.CurrentCompletionReward)
                {
                    BestDrone = drone.Drone;
                }
            }
        }
    }