BouncingBall.MotionFunction.CreateXMotionFunction C# (CSharp) Метод

CreateXMotionFunction() публичный статический Метод

public static CreateXMotionFunction ( double sceneWidth, double ballSize, double ballInitialLocationX, double ballInitialVelocityX ) : double>.Func
sceneWidth double
ballSize double
ballInitialLocationX double
ballInitialVelocityX double
Результат double>.Func
        public static Func<TimeSpan, double> CreateXMotionFunction(double sceneWidth, double ballSize, double ballInitialLocationX, double ballInitialVelocityX)
        {
            var halfP = sceneWidth - ballSize;
            var p = halfP * 2.0;

            return t =>
                   {
                       var x = PositiveMod(ballInitialLocationX + ballInitialVelocityX * t.TotalSeconds, p);

                       if (x > halfP)
                       {
                           x = p - x;
                       }

                       return x;
                   };
        }