예제 #1
0
        private static void AssignFigureToPosition(Figure figure, int row, int column)
        {
            figure.MoveGraphicsToPosition(PointToPoint3D(GetTileCenter(row, column)));
            int previousRow    = figure.Position.Row;
            int previousColumn = figure.Position.Column;

            figure.Position.Row    = row;
            figure.Position.Column = column;
            figure.Untargetable    = row == -1;

            if ((previousRow >= 0) != (row >= 0))
            {
                if (row == -1)
                {
                    RemoveFromBoard(figure);
                }
                else
                {
                    AddToBoard(figure);
                }
            }

            PlayerServiceReference.FigurePackage figurePackage = figure.ToFigurePackage();
            figurePackage.OriginalRow    = previousRow;
            figurePackage.OriginalColumn = previousColumn;
            figurePackage.NewRow         = row;
            figurePackage.NewColumn      = column;
            PlayerClient.MoveUnit(figurePackage);
        }