public void TransformFigureOnCel(string typeName, bool isWhiteFigure) { Figure figure = null; switch (typeName) { case "RookFigure": figure = new RookFigure(isWhiteFigure, _cell); break; case "KnightFigure": figure = new KnightFigure(isWhiteFigure, _cell); break; case "BishopFigure": figure = new BishopFigure(isWhiteFigure, _cell); break; case "QueenFigure": figure = new QueenFigure(isWhiteFigure, _cell); break; } if (figure == null) { throw new ChessGameException("Figure for pawn transformation not selected."); } _cell.Figure = figure; CallFigurePropertyChanged(); }
private static Figure CloneFigure(Figure figure, Cell toCell) { Figure newFigure = new PawnFigure(figure.IsWhite, toCell); if (figure is KingFigure) { newFigure = new KingFigure(figure.IsWhite, toCell); } if (figure is QueenFigure) { newFigure = new QueenFigure(figure.IsWhite, toCell); } if (figure is BishopFigure) { newFigure = new BishopFigure(figure.IsWhite, toCell); } if (figure is KnightFigure) { newFigure = new KnightFigure(figure.IsWhite, toCell); } if (figure is RookFigure) { newFigure = new RookFigure(figure.IsWhite, toCell); } return(newFigure); }