/** * <summary> * Generate grids * </summary> * * <param name="initialPoint"/> * <param name="finalPoint"/> * * <returns> * void * </returns> */ public void GenerateGrids(Vector3 initialPoint, Vector3 finalPoint) { for (float x = initialPoint.x; x < finalPoint.x; x++) { int roundedX = Mathf.RoundToInt(x); MapBehaviour.Tiles[roundedX] = new Dictionary <int, Tile>(); for (float z = finalPoint.z; z <= initialPoint.z; z++) { // Initializing key Tile tile = new Tile(); int roundedZ = Mathf.RoundToInt(z); tile.SetPosition(new Vector3(roundedX, 0, roundedZ)); MapBehaviour.Tiles[roundedX][roundedZ] = tile; } } }
/** * <summary> * Generate Map * </summary> * * <returns> * IEnumerator null * </returns> */ public IEnumerator GenerateMap() { Time.timeScale = 2f; GameObject tiles = GameObject.Find("Tiles"); // Clean before generate a new map this.Clear(); //TileType[,] mapTiles = new TileType[,] { { TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, }, { TileType.Water, TileType.Water, TileType.Grass, TileType.Grass, TileType.Water, }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water, }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Water, TileType.Water, }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water, }, { TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, }, }; TileType[,] mapTiles = new TileType[, ] { { TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Grass, TileType.Water }, { TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, TileType.Water, }, }; //Debug.Log(mapTiles[5, 0]); for (int x = 0; x < mapTiles.GetLength(0); x++) { Tiles[x] = new Dictionary <int, GameObject>(); for (int z = 0; z < mapTiles.GetLength(1); z++) { //Tile tile = MapBehaviour.Tiles[x][z]; Tile tile = new Tile(); tile.SetPosition(new Vector3(x, 0, z)); TileType type = mapTiles[x, z]; GameObject tileGameObject = null; if (type == TileType.Water) { tileGameObject = MonoBehaviour.Instantiate( Resources.Load("Prefabs/Tiles/Water/Center Water Tile", typeof(GameObject)) ) as GameObject; tile.SetType(TileType.Water); } else { tileGameObject = MonoBehaviour.Instantiate( Resources.Load("Prefabs/Tiles/Grass/Center Grass Tile", typeof(GameObject)) ) as GameObject; tile.SetType(TileType.Grass); this.grassTiles.Add(tileGameObject); } if (tileGameObject != null) { TileBehaviour newTileBehaviour = tileGameObject.GetComponent <TileBehaviour>(); newTileBehaviour.SetTile(tile); tileGameObject.transform.position = tile.GetPosition(); tileGameObject.transform.SetParent(tiles.transform); Tiles[x][z] = tileGameObject; } yield return(null); } yield return(null); } // Set generated flag to true this.generated = true; this.SmoothGrassTiles(); yield return(null); }