/// <summary> /// Create the terrain for the road /// </summary> /// <param name="sections">The number of sections</param> /// <param name="tm">The terrain modifier</param> private void CreateFiveRoadsTerrain(int sections, TerrainModifier tm) { float couveSize = 2.5f; IMaterialFrequency materialFrequency = _roadNetworkNode.GetComponent <OverridableMaterialFrequency>(); if (materialFrequency == null) { materialFrequency = RoadConstructorHelper.MaterialFrequencySet; } RoadNetworkNode roadA, roadB, roadC, roadD, roadE; RoadCrossSection rA, rB, rC, rD, rE; RoadUnionHelper.DefineCrossSectionOffSet(couveSize, 0, _roadNetworkNode, out roadA, out rA); RoadUnionHelper.DefineCrossSectionOffSet(couveSize, 1, _roadNetworkNode, out roadB, out rB); RoadUnionHelper.DefineCrossSectionOffSet(couveSize, 2, _roadNetworkNode, out roadC, out rC); RoadUnionHelper.DefineCrossSectionOffSet(couveSize, 3, _roadNetworkNode, out roadD, out rD); RoadUnionHelper.DefineCrossSectionOffSet(couveSize, 4, _roadNetworkNode, out roadE, out rE); int connectionSet = IntersectionManager.Instance.AddLinkedIntersecions(rA, rB, rC, rD, rE); DrawDetailsFiveRoad drs = new DrawDetailsFiveRoad(connectionSet, _roadNetworkNode, RoadConstructorHelper.GetMainMaterial(materialFrequency)); drs.ModifyTerrain(_roadNetworkNode.BuildData, tm); RoadConstructorHelper.ApplyLeadingStrights(_roadNetworkNode, tm, 0); RoadConstructorHelper.ApplyLeadingStrights(_roadNetworkNode, tm, 1); RoadConstructorHelper.ApplyLeadingStrights(_roadNetworkNode, tm, 2); RoadConstructorHelper.ApplyLeadingStrights(_roadNetworkNode, tm, 3); RoadConstructorHelper.ApplyLeadingStrights(_roadNetworkNode, tm, 4); }
/// <summary> /// Add a five road section /// </summary> /// <param name="connectionSet">The connection index</param> /// <param name="roadNetworkNode">THe master node for the five roads</param> /// <param name="materialName">The name of the material to use</param> internal void AddFiveRoad(int connectionSet, RoadNetworkNode roadNetworkNode, string materialName) { DrawDetailsFiveRoad drs = new DrawDetailsFiveRoad(connectionSet, roadNetworkNode, materialName); _drawDetails.Add(drs); }