示例#1
0
        public override Point Perform(Point position)
        {
            var currentPosition = position;

            for (var step = 1; step <= distance; step++)
            {
                var newPosition    = Point.GetPointInDirection(currentPosition, direction);
                var movementResult = MovementHelper.MoveProjectile(spell, currentPosition, newPosition);
                if (!movementResult.Success)
                {
                    break;
                }

                currentPosition = newPosition;
            }

            return(currentPosition);
        }