private void CreateBoardObjects(LevelData level, GameManager gameManager) { boardSquares = new BoardSquare[boardSize.numCols, boardSize.numRows]; tiles = new Tile[boardSize.numCols, boardSize.numRows]; for (int row = 0; row < boardSize.numRows; row++) { for (int col = 0; col < boardSize.numCols; col++) { BoardCoord boardCoord = new BoardCoord(col, row); // Create a board square of right type for this coordinate BoardSquareType boardSquareType = (BoardSquareType)level.tiles[col, row]; if (boardSquareType == BoardSquareType.Blocker && IsCoordEdgeOfBoard(boardCoord)) { boardSquareType = BoardSquareType.Edge; } boardSquares[col, row] = CreateBoardSquare(boardCoord, boardSquareType); // Create a tile if we should depending on type of board square if (CanHaveTileAtCoord(boardCoord)) { int tileType = level.GetRandomTileType(); tiles[col, row] = CreateTile(boardCoord, tileType, gameManager); } } } }
public void Setup(BoardCoord boardCoord, BoardSquareType boardSquareType) { this.boardSquareType = boardSquareType; gameObject.name = boardSquareType.ToString() + "_" + boardCoord.col + "_" + boardCoord.row; boardSquareView.SetSpriteForBoardSquare(boardSquareType); }
public Sprite BoardSquareSpriteForType(BoardSquareType boardSquareType) { if (boardSquareType == BoardSquareType.Normal) { return(boardSquareSprites[0]); } return(boardSquareSprites[1]); }
private BoardSquare CreateBoardSquare(BoardCoord boardCoord, BoardSquareType boardSquareType) { Vector2 pos = PositionForBoardCoord(boardCoord); GameObject newBoardSquareObject = Instantiate(dummyBoardSquareObject) as GameObject; newBoardSquareObject.SetActive(true); Transform newBoardSquareTransform = newBoardSquareObject.transform; newBoardSquareTransform.parent = boardSquareHolder; newBoardSquareTransform.localPosition = new Vector3(pos.x, pos.y, 0); newBoardSquareTransform.localScale = Vector3.one; BoardSquare newBoardSquare = newBoardSquareObject.GetComponent <BoardSquare>(); newBoardSquare.Setup(boardCoord, boardSquareType); return(newBoardSquare); }
public void SetSpriteForBoardSquare(BoardSquareType boardSquareType) { spriteRenderer.sprite = SpriteServer.Instance.BoardSquareSpriteForType(boardSquareType); if (boardSquareType == BoardSquareType.Blocker) { spriteRenderer.sortingLayerName = "Blockers"; spriteRenderer.color = Color.white; } else if (boardSquareType == BoardSquareType.Edge) { spriteRenderer.sortingLayerName = "Board"; spriteRenderer.color = Color.clear; } else { spriteRenderer.sortingLayerName = "Board"; spriteRenderer.color = Color.white; } }