// setup the distance and history for a platform turn. This should only be called when the center track has the turn that needs to spawn
    // platforms from it. Don't call it immediately on a right or left track - wait until the player turns to see which turn platforms need to be spawned from
    private void setupPlatformTurn()
    {
        int   platformIndex = infiniteObjectHistory.getLastLocalIndex(ObjectType.Platform);
        float platformSize  = platformSizes[platformIndex].x;

        if (turnPlatform[(int)ObjectLocation.Center].isLeftTurn && turnPlatform[(int)ObjectLocation.Center].isRightTurn)
        {
            platformSize /= 2;
        }
        else
        {
            platformSize -= straightPlatformWidth / 2;
        }
        // same with the infinite object manager, the localDistance and localSceneDistance must start out equal
        localDistance[(int)ObjectLocation.Left]       = localDistance[(int)ObjectLocation.Right] = platformSize;
        localSceneDistance[(int)ObjectLocation.Left]  = localSceneDistance[(int)ObjectLocation.Right] = platformSize;
        localPlatformHeight[(int)ObjectLocation.Left] = localPlatformHeight[(int)ObjectLocation.Right] = localPlatformHeight[(int)ObjectLocation.Center];
        localSceneHeight[(int)ObjectLocation.Left]    = localSceneHeight[(int)ObjectLocation.Right] = localSceneHeight[(int)ObjectLocation.Center];

        infiniteObjectHistory.resetTurnCount();
    }