public string Get() { var cityGenerator = new CityGenerator(); if (!cityGenerator.Generate()) { return("Error"); } var factoryGenerator = new FactoryGenerator(); if (!factoryGenerator.Generate()) { return("Error"); } var utilityGenerator = new UtilityGenerator(); if (!utilityGenerator.Generate()) { return("Error"); } var regionGenerator = new RegionGenerator(); if (!regionGenerator.Generate()) { return("Error"); } var containerGenerator = new ContainerGenerator(); if (!containerGenerator.Generate()) { return("Error"); } var tripGenerator = new TripGenerator(); if (!tripGenerator.Generate()) { return("Error"); } return("Success"); }
// When thread is done set all the unity specific values private void OnTileDataReceived(TileData tileData) { Tile currentTile = WorldBuilder.GetTile(tileData.offsets); // Check to see if the current tile is not already unloaded if (currentTile != null) { Vector2 offsets = new Vector2(tileData.offsets.x, tileData.offsets.z); Vector2 cityOffsets = new Vector2(tileData.offsets.x - 5, tileData.offsets.z - 5); currentTile.HeightMap = tileData.heightMap; caveBuilder.Instantiate(tileData.offsets); grassMap = new Texture2D(TILE_DIMENSION, TILE_DIMENSION); splatmapsArray = new Texture2DArray(TILE_DIMENSION, TILE_DIMENSION, 3, TextureFormat.RGBA32, true); int levelOfDetail = WorldBuilder.GetTile(tileData.offsets).LevelOfDetail; splatmapsArray.SetPixels(tileData.splatMap1, 0); splatmapsArray.SetPixels(tileData.splatMap2, 1); splatmapsArray.SetPixels(tileData.splatMap3, 2); grassMap.SetPixels(tileData.grassMap); splatmapsArray.wrapMode = TextureWrapMode.Clamp; splatmapsArray.Apply(); grassMap.wrapMode = TextureWrapMode.Clamp; grassMap.Apply(); Material[] matArray = currentTile.Terrain.MeshRenderer.materials; matArray[0].SetTexture("_SplatMaps", splatmapsArray); matArray[1].SetTexture("_GrassSplatMap", grassMap); currentTile.Terrain.MeshRenderer.materials = matArray; GameObject ocean = currentTile.Ocean.GameObject; ocean.SetActive(tileData.hasOcean); MeshData meshData = GenerateMesh(levelOfDetail, tileData.heightMap, false); SetMesh(meshData.CreateMesh(), currentTile); currentTile.Terrain.GameObject.SetActive(true); cityGenerator.Generate(cityOffsets); decorationGenerator.Generate(tileData.heightMap, tileData.offsets); } }
public void GenerateCity() { this.gameObject.SetActive(false); generator.Generate(type, int.Parse(sizeText.text), int.Parse(sitesText.text), float.Parse(mainRoadSize.text), float.Parse(sideRoadSize.text)); }