/// <summary> /// Standard Constructors /// </summary> /// <param name="roadObject">The base road object</param> /// <param name="list">The list of roadsection Guids</param> /// <param name="materialNames">The name of the material to use</param> /// <param name="subDivide">The subdivide amount</param> public MeshBuilderSection(IRoadBuildData roadObject, List <Guid> list, string materialNames, int subDivide) { _roadObject = roadObject; _list = list; _materialName = materialNames; // TODO: Added sub divide option: _subDivide = subDivide; }
/// <summary> /// Update the end points /// </summary> /// <param name="roadBuilderObject">The base object</param> public void UpdateEndPoints(IRoadBuildData roadBuilderObject) { foreach (IDrawDetails dd in _drawDetails) { dd.UpdateEndPoints(roadBuilderObject); } }
/// <summary> /// Standarad Constructor /// </summary> /// <param name="roadObject">The base road object</param> /// <param name="list">The list of guids for the cross roads</param> /// <param name="roadNetworkNode"></param> /// <param name="materialName"></param> public MeshBuilderCrossRoad(IRoadBuildData roadObject, List <Guid> list, RoadNetworkNode roadNetworkNode, string materialName) { _roadObject = roadObject; _list = list; _roadNetworkNode = roadNetworkNode; _materialName = materialName; }
/// <summary> /// Create the mesh for this section /// </summary> /// <param name="roadBuilderObject">The object to create the mesh on</param> public void CreateMesh(IRoadBuildData roadBuilderObject) { foreach (IDrawDetails dd in _drawDetails) { dd.DrawMesh(roadBuilderObject); } }
/// <summary> /// Standarad Constructor /// </summary> /// <param name="roadObject">The base road object</param> /// <param name="list">The list of guids for the cross roads</param> /// <param name="roadNetworkNode"></param> /// <param name="materialName"></param> public MeshBuilderFiveRoad(IRoadBuildData roadObject, List <Guid> list, RoadNetworkNode roadNetworkNode, string materialName) { _roadObject = roadObject; _list = list; _roadNetworkNode = roadNetworkNode; _materialName = materialName; _totalRoads = list.Count; }
/// <summary> /// Create the mesh for the street /// </summary> /// <param name="roadObject">The base object</param> public void CreateMesh(IRoadBuildData roadBuilderObject) { if (_drawn) { return; } _drawn = true; _meshSection.CreateMesh(roadBuilderObject); }
/// <summary> /// Update the end points /// </summary> /// <param name="roadBuilderObject">The base object</param> public void UpdateEndPoints(IRoadBuildData roadBuilderObject) { List <Guid> list = IntersectionManager.Instance[_connectionSet]; MeshBuilderFiveRoad jb = new MeshBuilderFiveRoad( roadBuilderObject, list, _roadNetworkNode, _materialName); jb.UpdateEndPoints(); }
/// <summary> /// Update the end points /// </summary> /// <param name="roadBuilderObject">The base object</param> public void UpdateEndPoints(IRoadBuildData roadBuilderObject) { List <Guid> list = IntersectionManager.Instance[_connectionSet]; MeshBuilderSection jb = new MeshBuilderSection( roadBuilderObject, list, _materialName, _subDivide); // TODO: Do we need this for basic roads // jb.UpdateEndPoints(); }
/// <summary> /// Create the mesh for all of the given streets /// </summary> /// <param name="_roadNetworkNode">The build object</param> /// <param name="_streetNames">The list of streets to add</param> public static void MeshStreets(IRoadBuildData roadBuilderObject, List <string> _streetNames) { foreach (string streetName in _streetNames) { StreetData sd = StreetManager.Instance[streetName]; if (sd != null) { sd.CreateMesh(roadBuilderObject); } } }
/// <summary> /// Modifiy the terrain /// </summary> /// <param name="roadBuilderObject">The road object</param> /// <param name="tm">The terrain modifier</param> public void ModifyTerrain(IRoadBuildData roadBuilderObject, TerrainModifier tm) { List <Guid> list = IntersectionManager.Instance[_connectionSet]; MeshBuilderFiveRoad jb = new MeshBuilderFiveRoad( roadBuilderObject, list, _roadNetworkNode, _materialName); jb.ApplyTerrain(tm); }
/// <summary> /// Create the mesh for this section /// </summary> /// <param name="roadBuilderObject">The object to create the mesh on</param> public void DrawMesh(IRoadBuildData roadBuilderObject) { List <Guid> list = IntersectionManager.Instance[_connectionSet]; MeshBuilderSection jb = new MeshBuilderSection( roadBuilderObject, list, _materialName, _subDivide); jb.Build(); }
/// <summary> /// Create the mesh for this section /// </summary> /// <param name="roadBuilderObject">The object to create the mesh on</param> public void DrawMesh(IRoadBuildData roadBuilderObject) { List <Guid> list = IntersectionManager.Instance[_connectionSet]; MeshBuilderCrossRoad jb = new MeshBuilderCrossRoad( roadBuilderObject, list, _roadNetworkNode, _materialName); jb.Build(); }
/// <summary> /// Create the mesh for this Union and streets /// </summary> /// <param name="roadBuilderObject">The object to update the mesh for</param> public void CreateMesh(IRoadBuildData roadBuilderObject) { _meshSection.CreateMesh(roadBuilderObject); RoadNetworkNodeHelper.MeshStreets(roadBuilderObject, _streetNames); }
/// <summary> /// Modifiy the terrain /// </summary> /// <param name="roadBuilderObject">The road object</param> /// <param name="tm">The terrain modifier</param> public void ModifyTerrain(IRoadBuildData roadBuilderObject, TerrainModifier tm) { throw new NotImplementedException(); }