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;
}