//to deactivate a piece of track, remove it from the track layer (8), and make it the right colour and size.
 private void Deactivate(TracksClass track)
 {
     track.gameObject.GetComponent <Renderer>().material       = OffColor;
     track.gameObject.GetComponent <LineRenderer>().startWidth = 2;
     track.gameObject.GetComponent <LineRenderer>().endWidth   = 2;
     track.gameObject.layer = 0;
     track.enabled          = false;
 }
 //to activate a piece of track, add it to the track layer (8), and make it the right colour and size.
 private void Activate(TracksClass track)
 {
     track.gameObject.GetComponent <Renderer>().material       = OnColor;
     track.gameObject.GetComponent <LineRenderer>().startWidth = 1;
     track.gameObject.GetComponent <LineRenderer>().endWidth   = 1;
     track.gameObject.layer = 8;
     track.enabled          = true;
 }
 //method which deactives a piece of track if it is active or activaties it if it is not active.
 private void Invert(TracksClass track)
 {
     if (track.enabled)
     {
         Deactivate(track);
     }
     else
     {
         Activate(track);
     }
 }
 // Use this for initialization
 public void Start()
 {
     TrackGameObjects = new GameObject[2];
     if (TrackGameObjects[0] != null)
     {
         Tracks[0] = new TracksClass(TrackGameObjects[0]);
         Tracks[1] = new TracksClass(TrackGameObjects[1]);
     }
     Deactivate(Tracks[0]);
     Activate(Tracks[1]);
 }