public GeneratedTrack Copy() { GeneratedTrack copy = new GeneratedTrack(); for (int i = 0; i < Elements.Length; i++) { copy.AddElement(Elements[i].Copy()); } copy.SetTerrainModifier(terrainModifier); copy.discreteTrack = discreteTrack.Copy(copy); copy.curvatureIdeallineProfile = curvatureIdeallineProfile; copy.curvatureProfile = curvatureProfile; copy.speedProfile = speedProfile; return(copy); }