Ejemplo n.º 1
0
 public override void Process(uint seed)
 {
     RiverMeshes = new Mesh[1] {
         RiverMesh
     };
     foreach (PathList river in TerrainMeta.Path.Rivers)
     {
         foreach (PathList.MeshObject item in river.CreateMesh(RiverMeshes, 0.1f))
         {
             GameObject obj = new GameObject("River Mesh");
             obj.transform.position = item.Position;
             obj.tag   = "River";
             obj.layer = 4;
             GameObjectEx.SetHierarchyGroup(obj, river.Name);
             obj.SetActive(false);
             MeshCollider meshCollider = obj.AddComponent <MeshCollider>();
             meshCollider.sharedMaterial = RiverPhysicMaterial;
             meshCollider.sharedMesh     = item.Meshes[0];
             obj.AddComponent <RiverInfo>();
             obj.AddComponent <WaterBody>();
             obj.AddComponent <AddToWaterMap>();
             obj.SetActive(true);
         }
     }
 }
Ejemplo n.º 2
0
 public override void Process(uint seed)
 {
     if (RoadMeshes == null || RoadMeshes.Length == 0)
     {
         RoadMeshes = new Mesh[1] {
             RoadMesh
         };
     }
     foreach (PathList road in TerrainMeta.Path.Roads)
     {
         if (road.IsExtraNarrow)
         {
             continue;
         }
         foreach (PathList.MeshObject item in road.CreateMesh(RoadMeshes, 0f))
         {
             GameObject obj = new GameObject("Road Mesh");
             obj.transform.position = item.Position;
             obj.layer = 16;
             GameObjectEx.SetHierarchyGroup(obj, road.Name);
             obj.SetActive(false);
             MeshCollider meshCollider = obj.AddComponent <MeshCollider>();
             meshCollider.sharedMaterial = RoadPhysicMaterial;
             meshCollider.sharedMesh     = item.Meshes[0];
             obj.AddComponent <AddToHeightMap>();
             obj.SetActive(true);
         }
     }
 }