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); }
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()); }
public Piece CreatePiece(PieceColor color, Row row, Column col, PieceType type) { PieceAndPrefab prefab = GetPiecePrefabByType(type); return(CreatePiece(color, row, col, prefab)); }