Game.KinectPlayer.SetPlatformToPlatformMoveTime C# (CSharp) Method

SetPlatformToPlatformMoveTime() public method

public SetPlatformToPlatformMoveTime ( float platformSpeed, float distanceBetweenRows, float timerUpdate, float distanceBetweenPlatforms ) : void
platformSpeed float
distanceBetweenRows float
timerUpdate float
distanceBetweenPlatforms float
return void
        public void SetPlatformToPlatformMoveTime(float platformSpeed, float distanceBetweenRows, float timerUpdate, float distanceBetweenPlatforms)
        {
            idleJumpHeightDivider = 1;
            var idleJumpDistanceRatio = (GameConstants.SpaceBetweenRows-2*idleJumpPlatformRadius) / GameConstants.DefaultSpaceBetweenRows;
            var idleJumpGravityMultiplier = (GameConstants.SpeedOfPlatformsOneUpdate / GameConstants.DefaultSpeedBetweenPlatforms) * 10;

            idleJumpExpectedFunctionCalls = (int)Math.Round((GameConstants.SpaceBetweenRows - 2 * idleJumpPlatformRadius) / GameConstants.SpeedOfPlatformsOneUpdate);
            idleJumpVelocity = GameConstants.DefaultTimerMultiplier * idleJumpDistanceRatio;
            idleJumpGravity = GameConstants.DefaultJumpGravity * idleJumpGravityMultiplier;

            var maxIdleJumpBallHeight = (((idleJumpGravity * (idleJumpExpectedFunctionCalls / 2) * (idleJumpExpectedFunctionCalls / 2)) / 2) / idleJumpHeightDivider) * 20;
            while (maxIdleJumpBallHeight / idleJumpHeightDivider > GameConstants.MaxiumumJumpHeight)
            {
                idleJumpHeightDivider *= 2;
            }

            jumpHeightDivider = 1;
            var jumpDistanceRatio = (2*GameConstants.SpaceBetweenRows - 2 * idleJumpPlatformRadius) / GameConstants.DefaultSpaceBetweenRows;
            var jumpGravityMultiplier = (GameConstants.SpeedOfPlatformsOneUpdate / GameConstants.DefaultSpeedBetweenPlatforms) * 10;

            jumpExpectedFunctionCalls = (int)Math.Round((2*GameConstants.SpaceBetweenRows - 2 * idleJumpPlatformRadius) / GameConstants.SpeedOfPlatformsOneUpdate);

            nyanIncrement = (int)((GameConstants.HorizontalGameResolution+2*GameConstants.nyanDimensions.X) / jumpExpectedFunctionCalls);

            jumpVelocity = GameConstants.DefaultTimerMultiplier * jumpDistanceRatio;
            jumpGravity = GameConstants.DefaultJumpGravity * jumpGravityMultiplier;

            var maxJumpBallHeight = (((jumpGravity * (jumpExpectedFunctionCalls / 2) * (jumpExpectedFunctionCalls / 2)) / 2) / jumpHeightDivider) * 20;
            while (maxJumpBallHeight / jumpHeightDivider > GameConstants.MaxiumumJumpHeight)
            {
                jumpHeightDivider *= 2;
            }

            horizontalJumpMovementStep = GameConstants.SpaceBetweenPlatforms/idleJumpExpectedFunctionCalls;
        }