public void copyTile(oldTile tileToCopy) { this.thisTilesEnergy = tileToCopy.thisTilesEnergy; this.thisTilesType = tileToCopy.thisTilesType; this.passable = tileToCopy.passable; this.tileRowNum = tileToCopy.tileRowNum; this.tileColumnNum = tileToCopy.tileColumnNum; this.worldPos = tileToCopy.worldPos; this.gridH = tileToCopy.gridH; this.gridW = tileToCopy.gridW; this.gridIndex = tileToCopy.gridIndex; }
public void createGrid(int rowNum, int columnNum, GameObject _obj, Material[] _mats) { width = columnNum; height = rowNum; for (int i = 0; i < rowNum; i++) { for (int j = 0; j < columnNum; j++) { oldTile newTile = new oldTile(); newTile.setTileRowAndColumnNum(i, j); newTile.gridH = rowNum; newTile.gridW = columnNum; Vector3 worldPos = new Vector3(0, 0, 0); worldPos.x += i; worldPos.z += j; newTile.setTileWorldPos(worldPos); int tileEnergy = Random.Range(0, 4); int tileType = Random.Range(0, 2); newTile.setTilesEnergy(tileEnergy); newTile.setTileType(tileType); switch ((oldTile.tileEnergy)tileEnergy) { case oldTile.tileEnergy.heat: { _obj.GetComponent <SpriteRenderer>().material = _mats[0]; break; } case oldTile.tileEnergy.cold: { _obj.GetComponent <SpriteRenderer>().material = _mats[1]; break; } case oldTile.tileEnergy.death: { _obj.GetComponent <SpriteRenderer>().material = _mats[2]; break; } case oldTile.tileEnergy.life: { _obj.GetComponent <SpriteRenderer>().material = _mats[3]; break; } default: break; } GameObject tmp; tmp = Instantiate(_obj, worldPos, Quaternion.Euler(90.0f, 0.0f, 0.0f)); tmp.transform.SetParent(this.transform); tmp.name = "Tile (" + i + ", " + j + ")"; newTile.setMesh(tmp); tmp.GetComponent <oldTile>().copyTile(newTile); tmp.GetComponent <oldTile>().setMesh(tmp); mapGrid.Add(tmp.GetComponent <oldTile>()); } } for (int i = 0; i < mapGrid.Count; i++) { mapGrid[i].gridIndex = i; } }