コード例 #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);
        }
コード例 #2
0
        public static Figure CreateFigureFromPackage(PlayerServiceReference.FigurePackage figurePackage)
        {
            Unit unit = CreateUnit(figurePackage.Name);

            Enums.Piece piece  = (Enums.Piece)Enum.Parse(typeof(Enums.Piece), figurePackage.Piece);
            Figure      figure = CreateFigure(unit, piece);

            figure.ApplyFigurePackageProperties(figurePackage);
            return(figure);
        }