コード例 #1
0
        public void ExecuteStep(IExecutionStep step)
        {
            // this position does not take the area dimensions into account
            var position = step.GetNextPosition(Position, Direction);

            // the final position takes the area dimensions into account
            Position = new Vector(
                _ComputeSlidingValue(position.X, AreaDimensions.X),
                _ComputeSlidingValue(position.Y, AreaDimensions.Y)
                );

            Direction = step.GetNextDirection(Direction);
        }