public void Init(Vector2 coords, CellKind kind, ParkingKind parkingKind, GameObject gameObjectsContainer) { this.coords = coords; this.kind = kind; this.parkingKind = parkingKind; this.gameObjectsContainer = gameObjectsContainer; }
void InitCells(Dictionary <Vector2, Cell> cells) { ArrayList fireEngineSpots = new ArrayList(); fireEngineSpots.Add(new Vector2(0, 1)); fireEngineSpots.Add(new Vector2(0, 2)); fireEngineSpots.Add(new Vector2(7, 0)); fireEngineSpots.Add(new Vector2(8, 0)); fireEngineSpots.Add(new Vector2(1, 7)); fireEngineSpots.Add(new Vector2(2, 7)); fireEngineSpots.Add(new Vector2(9, 5)); fireEngineSpots.Add(new Vector2(9, 6)); ArrayList ambulanceSpots = new ArrayList(); ambulanceSpots.Add(new Vector2(0, 3)); ambulanceSpots.Add(new Vector2(0, 4)); ambulanceSpots.Add(new Vector2(5, 0)); ambulanceSpots.Add(new Vector2(6, 0)); ambulanceSpots.Add(new Vector2(3, 7)); ambulanceSpots.Add(new Vector2(4, 7)); ambulanceSpots.Add(new Vector2(9, 3)); ambulanceSpots.Add(new Vector2(9, 4)); for (int i = 0; i < cellsWide; i++) { for (int j = 0; j < cellsHigh; j++) { Vector2 coords = new Vector2(i, j); GameObject newCell = Object.Instantiate(cellPrefab); GameObject newGameObjectContainer = Object.Instantiate(gameObjectsContainer); CellKind kind = IsOutdoor(coords) ? CellKind.OUTDOOR : CellKind.INDOOR; ParkingKind parkingKind = ParkingKind.NONE; foreach (Vector2 fireEngineSpot in fireEngineSpots) { if (fireEngineSpot.Equals(coords)) { fireEngineSpots.Remove(fireEngineSpot); parkingKind = ParkingKind.FIRE_ENGINE; break; } } foreach (Vector2 ambulanceSpot in ambulanceSpots) { if (ambulanceSpot.Equals(coords)) { ambulanceSpots.Remove(ambulanceSpot); parkingKind = ParkingKind.AMBULANCE; break; } } newCell.GetComponent <Cell>().Init(coords, kind, parkingKind, newGameObjectContainer); cells.Add(coords, newCell.GetComponent <Cell>()); newCell.transform.SetParent(cellLayer.transform, false); newGameObjectContainer.transform.SetParent(gameObjectsLayer.transform, false); } } }