public void playCustomExercise(FMC_Settings_Input.allInformation problemInformation)
    {
        if (problemInformation == FMC_Settings_Input.allInformation.ttOneTimesOne || problemInformation == FMC_Settings_Input.allInformation.oxo_1 ||
            problemInformation == FMC_Settings_Input.allInformation.oxo_2 || problemInformation == FMC_Settings_Input.allInformation.oxo_3 ||
            problemInformation == FMC_Settings_Input.allInformation.oxo_4 || problemInformation == FMC_Settings_Input.allInformation.oxo_5 ||
            problemInformation == FMC_Settings_Input.allInformation.oxo_6 || problemInformation == FMC_Settings_Input.allInformation.oxo_7 ||
            problemInformation == FMC_Settings_Input.allInformation.oxo_8 || problemInformation == FMC_Settings_Input.allInformation.oxo_9 ||
            problemInformation == FMC_Settings_Input.allInformation.oxo_10)
        {
            gameDataController.setCurrentSetting(FMC_Settings_Controller.activeSetting.oneTimesOne);
            FMC_Settings nSetting = new FMC_Settings();
            nSetting.setSettings(10, FMC_Settings.numberType.core, FMC_Settings.numberType.core, false, true, false, false, true, true, true, false, true, -1);
            gameDataController.setSettings(nSetting);

            oneTimesOneLayoutScript.setAutoCheckButton(problemInformation);

            openOneTimesOneSettings();
            return;
        }

        gameDataController.setCurrentSetting(FMC_Settings_Controller.activeSetting.freestyle);
        FMC_Settings newSetting = createSettingsFromProblem(problemInformation);

        gameDataController.setSettings(newSetting);
        openFreestyleSettings();
    }
//rangeOfNumbers, numberTypeFront, numberTypeBack, PlusPossible, TimesPossible, MinusPossible, DividedPossible, GreaterPossible, SamePossible, SmallerPossible, EqualsPossible, OneTimesOnePossible, timeSpecification
    public void playFreestyle()
    {
        gameDataController.setCurrentSetting(FMC_Settings_Controller.activeSetting.freestyle);
        FMC_Settings newSetting = new FMC_Settings();

        newSetting.setSettings(10, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, false, false, true, true, true, false, false, -1);
        gameDataController.setSettings(newSetting);
        openFreestyleSettings();
    }
//rangeOfNumbers, numberTypeFront, numberTypeBack, PlusPossible, TimesPossible, MinusPossible, DividedPossible, GreaterPossible, SamePossible, SmallerPossible, EqualsPossible, OneTimesOnePossible, timeSpecification
    public void playBasics()
    {
        gameDataController.setCurrentSetting(FMC_Settings_Controller.activeSetting.freestyle);
        FMC_Settings newSetting = new FMC_Settings();

        newSetting.setSettings(15, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, true, false, true, true, true, true, false, -1);
        gameDataController.setSettings(newSetting);
        openFreestyleSettings();
        //SceneManager.LoadScene("MathLadder");
        //FLS_LoadingScreen.instance.loadScene("MathLadder");
    }
//rangeOfNumbers, numberTypeFront, numberTypeBack, PlusPossible, TimesPossible, MinusPossible, DividedPossible, GreaterPossible, SamePossible, SmallerPossible, EqualsPossible, OneTimesOnePossible, timeSpecification
    private FMC_Settings createSettingsFromPracticeMode(FMC_PracticeBoxLayout.practiceModes practiceMode)
    {
        FMC_Settings newSetting = new FMC_Settings();

        switch (practiceMode)
        {
        case FMC_PracticeBoxLayout.practiceModes.vorschule:
            newSetting.setSettings(10, FMC_Settings.numberType.core, FMC_Settings.numberType.mixed, true, false, false, false, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.klasse1:
            newSetting.setSettings(20, FMC_Settings.numberType.mixed, FMC_Settings.numberType.neighbour01, true, false, true, false, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.klasse2:
            newSetting.setSettings(20, FMC_Settings.numberType.mixed, FMC_Settings.numberType.neighbour02, true, false, true, false, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.klasse3:
            newSetting.setSettings(100, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, true, true, true, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.klasse4:
            newSetting.setSettings(200, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, true, true, true, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.klasse5:
            newSetting.setSettings(1000, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, true, true, true, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.addBis20:
            newSetting.setSettings(20, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, false, false, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.addBis100:
            newSetting.setSettings(100, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, false, false, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.subBis20:
            newSetting.setSettings(20, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, false, false, true, false, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.subBis100:
            newSetting.setSettings(100, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, false, false, true, false, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.mulBis50:
            newSetting.setSettings(50, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, false, true, false, false, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.mulBis100:
            newSetting.setSettings(100, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, false, true, false, false, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.divBis50:
            newSetting.setSettings(50, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, false, false, false, true, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.divBis100:
            newSetting.setSettings(100, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, false, false, false, true, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.aufgabenBis50:
            newSetting.setSettings(50, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, true, true, true, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.aufgabenBis100:
            newSetting.setSettings(100, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, true, true, true, true, true, true, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.verdoppeln:
            newSetting.setSettings(50, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, false, false, false, true, false, false, false, -1);
            break;

        case FMC_PracticeBoxLayout.practiceModes.zehneruebergang:
            newSetting.setSettings(12, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, true, false, true, true, true, false, false, -1);
            break;
        }

        return(newSetting);
    }
//rangeOfNumbers, numberTypeFront, numberTypeBack, PlusPossible, TimesPossible, MinusPossible, DividedPossible, GreaterPossible, SamePossible, SmallerPossible, EqualsPossible, OneTimesOnePossible, timeSpecification
    private FMC_Settings createSettingsFromProblem(FMC_Settings_Input.allInformation info)
    {
        FMC_Settings newSetting     = new FMC_Settings();
        FMC_Settings sms            = FMC_GameDataController.instance.getCurrentStoryModeSettings();
        int          rangeOfNumbers = Mathf.Clamp(sms._rangeOfNumbers, 10, 2000);

        if (info == FMC_Settings_Input.allInformation.ron10)
        {
            newSetting.setSettings(10, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, true, false, true, true, true, true, false, -1);
        }
        else if (info == FMC_Settings_Input.allInformation.ron20)
        {
            newSetting.setSettings(20, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, true, false, true, true, true, true, false, -1);
        }
        else if (info == FMC_Settings_Input.allInformation.ron100)
        {
            newSetting.setSettings(100, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, true, false, true, true, true, true, false, -1);
        }
        else if (info == FMC_Settings_Input.allInformation.ron1000)
        {
            newSetting.setSettings(1000, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, true, false, true, true, true, true, false, -1);
        }

        else if (info == FMC_Settings_Input.allInformation.ntCore)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.core, FMC_Settings.numberType.core, true, false, true, false, true, false, true, false, false, -1);
        }
        else if (info == FMC_Settings_Input.allInformation.ntNeighbour01)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.neighbour01, FMC_Settings.numberType.neighbour01, true, false, true, false, true, false, true, false, false, -1);
        }
        else if (info == FMC_Settings_Input.allInformation.ntNeighbour02)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.neighbour02, FMC_Settings.numberType.neighbour02, true, false, true, false, true, false, true, false, false, -1);
        }
        else if (info == FMC_Settings_Input.allInformation.ntMixed)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, true, false, true, false, true, false, false, -1);
        }
        //else if (info == FMC_Settings_Input.allInformation.ntEven)
        //    newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.even, FMC_Settings.numberType.even, true, false, true, false, true, true, true, true, false, -1);
        //else if (info == FMC_Settings_Input.allInformation.ntUneven)
        //    newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.uneven, FMC_Settings.numberType.uneven, true, false, true, false, true, true, true, true, false, -1);

        else if (info == FMC_Settings_Input.allInformation.opPlus)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, false, false, true, true, true, true, false, -1);
        }
        else if (info == FMC_Settings_Input.allInformation.opTimes)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, false, true, false, false, true, true, true, true, false, -1);
        }
        else if (info == FMC_Settings_Input.allInformation.opMinus)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, false, false, true, false, true, true, true, true, false, -1);
        }
        else if (info == FMC_Settings_Input.allInformation.opDivided)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, false, false, false, true, true, true, true, true, false, -1);
        }

        else if (info == FMC_Settings_Input.allInformation.ttGreater)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, true, false, true, false, false, false, false, -1);
        }
        else if (info == FMC_Settings_Input.allInformation.ttSame)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, true, false, false, true, false, false, false, -1);
        }
        else if (info == FMC_Settings_Input.allInformation.ttSmaler)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, true, false, false, false, false, true, false, false, -1);
        }
        else if (info == FMC_Settings_Input.allInformation.ttEquals)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, true, false, false, false, false, true, false, -1);
        }

        else if (info == FMC_Settings_Input.allInformation.tInfinite)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, true, false, true, true, true, true, false, -1);
        }
        else if (info == FMC_Settings_Input.allInformation.t5)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, true, false, true, true, true, true, false, 5);
        }
        else if (info == FMC_Settings_Input.allInformation.t15)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, true, false, true, true, true, true, false, 15);
        }
        else if (info == FMC_Settings_Input.allInformation.t30)
        {
            newSetting.setSettings(rangeOfNumbers, FMC_Settings.numberType.mixed, FMC_Settings.numberType.mixed, true, false, true, false, true, true, true, true, false, 30);
        }


        return(newSetting);
    }