Esempio n. 1
0
    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);
                }
            }
        }
    }
Esempio n. 2
0
    public void Setup(BoardCoord boardCoord, BoardSquareType boardSquareType)
    {
        this.boardSquareType = boardSquareType;

        gameObject.name = boardSquareType.ToString() + "_" + boardCoord.col + "_" + boardCoord.row;

        boardSquareView.SetSpriteForBoardSquare(boardSquareType);
    }
Esempio n. 3
0
    public Sprite BoardSquareSpriteForType(BoardSquareType boardSquareType)
    {
        if (boardSquareType == BoardSquareType.Normal)
        {
            return(boardSquareSprites[0]);
        }

        return(boardSquareSprites[1]);
    }
Esempio n. 4
0
    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);
    }
Esempio n. 5
0
    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;
        }
    }