Esempio n. 1
0
        private List <Piece> CreatePieces(PieceColor color)
        {
            List <Piece> initialPieces = new List <Piece>();
            Row          startingRow;
            Column       startingColumn;
            int          indexIncrement;

            if (color == PieceColor.White)
            {
                startingRow    = Row._1;
                startingColumn = Column.A;
                indexIncrement = 1;
            }
            else
            {
                startingRow    = Row._8;
                startingColumn = Column.A;
                indexIncrement = -1;
            }
            int currentPieceIndex = 0;

            for (int rowOffset = 0; Mathf.Abs(rowOffset) < 2; rowOffset += indexIncrement)
            {
                Row currentRow = startingRow + rowOffset;
                for (int colOffset = 0; colOffset < 8; colOffset++)
                {
                    Column         currentCol   = startingColumn + colOffset;
                    PieceAndPrefab currentPiece = GetPiecePrefabByType(initialState[currentPieceIndex]);
                    Piece          piece        = CreatePiece(color, currentRow, currentCol, currentPiece);
                    initialPieces.Add(piece);
                    currentPieceIndex++;
                }
            }
            return(initialPieces);
        }
Esempio n. 2
0
        private Piece CreatePiece(PieceColor color, Row row, Column col, PieceAndPrefab pieceAndPrefab)
        {
            PieceUI pieceUI = Instantiate(pieceAndPrefab.prefab, piecesParent);

            Tile tile = board.GetTile(row, col);

            pieceUI.Initialize(color, tile, board, artSet.GetSpriteVariants(pieceAndPrefab.type), moveManager);
            piecesWithUI.Add(pieceUI.GetPiece(), pieceUI);
            return(pieceUI.GetPiece());
        }
Esempio n. 3
0
        public Piece CreatePiece(PieceColor color, Row row, Column col, PieceType type)
        {
            PieceAndPrefab prefab = GetPiecePrefabByType(type);

            return(CreatePiece(color, row, col, prefab));
        }