Descent.Model.Board.Board.MoveFigure C# (CSharp) Метод

MoveFigure() публичный Метод

Moves a figure to a specific point.
public MoveFigure ( Figure figure, Point point ) : void
figure Descent.Model.Player.Figure.Figure /// The figure that is moved ///
point Point /// The upper left corner of the figure, that is moved to ///
Результат void
        public void MoveFigure(Figure figure, Point point)
        {
            Contract.Requires(figure != null);
            Contract.Requires(this.CanFigureMoveToPoint(figure, point));

            // Remove monsters from old position
            Point p = FiguresOnBoard[figure];
            for (int x = p.X;
                 x < p.X + (figure.Orientation.Equals(Orientation.V) ? figure.Size.Width : figure.Size.Height);
                 x++)
            {
                for (int y = p.Y;
                     y < p.Y + (figure.Orientation.Equals(Orientation.V) ? figure.Size.Height : figure.Size.Width);
                     y++)
                {
                    board[x, y].Figure = null;
                }
            }

            for (int x = point.X;
                 x < point.X + (figure.Orientation.Equals(Orientation.V) ? figure.Size.Width : figure.Size.Height);
                 x++)
            {
                for (int y = point.Y;
                     y < point.Y + (figure.Orientation.Equals(Orientation.V) ? figure.Size.Height : figure.Size.Width);
                     y++)
                {
                    board[x, y].Figure = figure;
                }
            }

            figuresOnBoard[figure] = point;
            boardChanged = true;
        }