void GenerateMap() { int halfWidth = WorldSettings_3d.instance.tilesWidth / 2; int halfHeight = WorldSettings_3d.instance.tilesHeight / 2; // proceedurally generate the game tiles for (int z = -halfHeight; z < halfHeight; z++) { for (int x = -halfWidth; x < halfWidth; x++) { // create environment tile Vector3 position = new Vector3(x, 0, z); GameObject newTile = Instantiate( environmentTilePrefab, position, transform.rotation, environmentTileContainer.transform ); // init tile state newTile.GetComponent <EnvironmentTileControl_3d>().InitState( Random.Range(WorldSettings_3d.MIN_EARTH, WorldSettings_3d.MAX_EARTH), Random.Range(WorldSettings_3d.MIN_HEAT, WorldSettings_3d.MAX_HEAT), Random.Range(WorldSettings_3d.MIN_WATER, WorldSettings_3d.MAX_WATER) ); // add to coordinates -> tile dictionary string coordsKey = eTiles.GetFormattedCoordinateFromTile(newTile); eTiles.coordToEnvironmentTile.Add(coordsKey, newTile); // add to tile list eTiles.environmentTiles.Add(newTile); } } }