Example #1
0
    void Start()
    {
        spawnpoints = TileController.GetSpawnpoints();
        var nnSize = AIController.nnSize;

        for (int i = 0; i < carCount; i++)
        {
            Tile currSpawnpoint = spawnpoints[i % spawnpoints.Count];

            GameObject  carObject = Instantiate(carPrefab, currSpawnpoint.GetWorldPos(), Quaternion.identity);
            CarMovement car       = carObject.GetComponent <CarMovement>();

            Agent agent = new Agent(car);
            agent.SetSpawnpoint(currSpawnpoint);
            agent.SetBrain(new NeuralNetwork(nnSize[0], nnSize[1], nnSize[2]));

            CarController.cars.Add(car);
            List <Collider> colls = car.GetColliders();

            foreach (CarMovement other in CarController.cars)
            {
                if (car == other)
                {
                    continue;
                }
                DisableCollisions(colls, other.GetColliders());
            }
        }
    }