Exemplo n.º 1
0
        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");
        }
Exemplo n.º 2
0
    // 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);
        }
    }
Exemplo n.º 3
0
 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));
 }