public void AddRacer(GameObject racer) { if (_raceStarted) { Destroy(racer); Debug.Log("A racer tried to register while the race has already started"); return; } racer.transform.position = transform.position + (transform.forward * 3 * (_racers.Count + 1)); racer.transform.LookAt(transform); Vector3 p = racer.transform.position; racer.transform.position = new Vector3(p.x, 0.13f, p.z); EnergySystem engine = racer.GetComponent <EnergySystem>(); engine.SetupColor(Colours[_racers.Count % Colours.Length]); engine.IsLocked = true; _racers.Add(racer, 0); }