public void setSettings() { resetData(); foreach (FMC_RadioButtonController rbc in radioButtonControllers) { checkInformation(rbc.currentlyCheckedButton.information, rbc.currentlyCheckedButton, false, false); } foreach (FMC_CheckButtonController cbc in checkButtonControllers) { foreach (FMC_CheckButton b in cbc.currentlyCheckedButtons) { checkInformation(b.information, null, false, false); } } checkInformation(iterateButton01.information, null, true, false); checkInformation(iterateButton02.information, null, false, true); FMC_Settings newSetting = new FMC_Settings(); newSetting.setSettings(rangeOfNumbers, numberTypeFront, numbeTypeBack, operationPlusIsPossible, operationTimesIsPossible, operationMinusIsPossible, operationDividedIsPossible, taskTypeGreaterIsPossible, taskTypeSameIsPossible, taskTypeSmallerIsPossible, taskTypeEqualsIsPossible, taskTypeOneTimesOneIsPossible, timeSpecification); //newSetting.setSettings(rangeOfNumbers, numberType, operationPlusIsPossible, operationTimesIsPossible, operationMinusIsPossible, // operationDividedIsPossible, true, true, true, true, false, timeSpecification); if (FMC_GameDataController.instance) { FMC_GameDataController.instance.setSettings(newSetting); } newSetting.logAllSettings(); }
public void playPractice(FMC_PracticeBoxLayout.practiceModes practiceMode) { if (practiceMode == FMC_PracticeBoxLayout.practiceModes.freestyle) { playFreestyle(); } else if (practiceMode == FMC_PracticeBoxLayout.practiceModes.oneTimesOne) { openOneTimesOneSettings(); } else if (practiceMode == FMC_PracticeBoxLayout.practiceModes.oneTimesOneBig) { openOneTimesOneSettingsBig(); } else if (practiceMode == FMC_PracticeBoxLayout.practiceModes.basics) { playBasics(); } else { gameDataController.setCurrentSetting(FMC_Settings_Controller.activeSetting.freestyle); FMC_Settings newSetting = createSettingsFromPracticeMode(practiceMode); gameDataController.setSettings(newSetting); openFreestyleSettings(); } }
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(); }
public void OnEnable() { FMC_Settings currentSetting = FMC_GameDataController.instance.getCurrentSettings(); if (currentSetting is FMC_Settings_Freestyle) { disableButtons(); autoClickButtons(currentSetting); } }
//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"); }
public void createTask() { currentSetting = settingsController.getCurrentSettingValues(); _rangeOfNumbers = currentSetting._rangeOfNumbers; _numberTypeFront = currentSetting._numberTypeFront; _numberTypeBack = currentSetting._numberTypeBack; _failSaveCounter = 0; _allreadyFellBackToRandom = false; //Debug.LogWarning("ntFront: " + _numberTypeFront + "; Back: " + _numberTypeBack); if (_numberTypeFront == FMC_Settings.numberType.even || _numberTypeFront == FMC_Settings.numberType.uneven) { _numberTypeFront = FMC_Settings.numberType.mixed; } if (_numberTypeBack == FMC_Settings.numberType.even || _numberTypeFront == FMC_Settings.numberType.uneven) { _numberTypeBack = FMC_Settings.numberType.mixed; } x = -1; y = -1; findMethod(); if (x == -1 && y == -1) { fallbackRandom(); } FMC_Task t = new FMC_Task(); setTaskValues(t); if (lastTask == null || lastTask.task != t.task || iterations >= 20) { if (newTaskCreated != null) { newTaskCreated(t); } lastTask = t; iterations = 0; //t.setUserAnswer(t.correctAnswer, false); //FMC_GameDataController.instance.answerTask(t); } else { iterations++; createTask(); } }
public void setSettings(FMC_Settings newSetting) { _rangeOfNumbers = newSetting._rangeOfNumbers; _numberTypeFront = newSetting._numberTypeFront; _numberTypeBack = newSetting._numberTypeBack; _operationPlusIsPossible = newSetting._operationPlusIsPossible; _operationTimesIsPossible = newSetting._operationTimesIsPossible; _operationMinusIsPossible = newSetting._operationMinusIsPossible; _operationDividedIsPossible = newSetting._operationDividedIsPossible; _taskTypeGreaterIsPossible = newSetting._taskTypeGreaterIsPossible; _taskTypeSameIsPossible = newSetting._taskTypeSameIsPossible; _taskTypeSmallerIsPossible = newSetting._taskTypeSmallerIsPossible; //_taskTypeEqualsIsPossible = newSetting._taskTypeEqualsIsPossible; _taskTypeEqualsIsPossible = false; // Always Disabled _taskTypeOneTimesOneIsPossible = newSetting._taskTypeOneTimesOneIsPossible; _timeSpecification = newSetting._timeSpecification; fullyInitialised = true; //logAllSettings(); }
private void moveCoin(GameObject inst, float timer) { FMC_Settings currentSetting = FMC_GameDataController.instance.getCurrentSettings(); bank.setCoinTargetPosition(); Vector3 dest = bank.bankCamera.ScreenToWorldPoint(new Vector3(bank.coinTargetPos.x, bank.coinTargetPos.y, 10)); dest.y = Mathf.Abs(dest.y); dest.x = 0; if (currentSetting is FMC_Settings_StoryMode) { dest.x = -1.2f; } LeanTween.scale(inst, Vector2.one * 0.8f, timer * 0.1f).setEase(LeanTweenType.easeOutCubic).setOnComplete(() => { LeanTween.scale(inst, Vector2.one * 0.25f, timer * 0.9f).setEase(LeanTweenType.easeInCubic); }); LeanTween.move(inst, dest, timer).setOnComplete(() => { OnCoinEnd(); }); }
void Update() { if (!ClimberStateManager.isPaused) { if (adjustHeight) { Vector3 pos = Vector3.up * height; transform.Translate(pos); adjustHeight = false; } if (move) { timer -= Time.deltaTime; float t = -1; if (height > 0) { t = 1 - timer / jumpFlightTime; Move(jumpCurve.Evaluate(t)); } else { t = 1 - timer / fallFlightTime; Move(fallCurve.Evaluate(t)); } } } if (Input.GetKeyDown(KeyCode.W)) { Switch(); } if (tapEnable) { if (Input.GetMouseButtonDown(0) && ClimberStateManager.state == ClimberState.IDLE) { Camera cam = GameObject.Find("StairCamera").GetComponent <Camera>(); Vector3 touchPos = Utils.getTouchPos(Input.mousePosition, cam); RaycastHit2D [] hits = Physics2D.RaycastAll(touchPos, Vector3.forward, 100); foreach (RaycastHit2D hit in hits) { CharacterScript tempCharacter = hit.collider.gameObject.GetComponent <CharacterScript>(); if (tempCharacter) { anim.Tap(); if (curChar.tapVoice != null && canTalk) { charVoice = LeanAudio.play(curChar.tapVoice); } FMC_Settings currentSetting = FMC_GameDataController.instance.getCurrentSettings(); if (currentSetting is FMC_Settings_StoryMode) { SmallHelpButton smallButton = FindObjectOfType <SmallHelpButton> (); if (smallButton) { smallButton.Show(true); } } } } } } else { Spine.TrackEntry trc = anim.skeleton.state.GetCurrent(0); string curAnim = trc.Animation.name; if (curAnim == "idle") { tapEnable = true; } } }
private void autoClickButtons(FMC_Settings currentSetting) { // Click and unclick Range of Number Buttons if (currentSetting._rangeOfNumbers <= 15) { radioButtonsRange[0].setText(currentSetting._rangeOfNumbers.ToString()); radioButtonsRange[1].setText("20"); radioButtonsRange[2].setText("100"); radioButtonsRange[3].setText("1000"); radioButtonsRange[0].checkButton(false); } else if (currentSetting._rangeOfNumbers <= 50) { radioButtonsRange[0].setText("10"); radioButtonsRange[1].setText(currentSetting._rangeOfNumbers.ToString()); radioButtonsRange[2].setText("100"); radioButtonsRange[3].setText("1000"); radioButtonsRange[1].checkButton(false); } else if (currentSetting._rangeOfNumbers <= 500) { radioButtonsRange[0].setText("10"); radioButtonsRange[1].setText("20"); radioButtonsRange[2].setText(currentSetting._rangeOfNumbers.ToString()); radioButtonsRange[3].setText("1000"); radioButtonsRange[2].checkButton(false); } else if (currentSetting._rangeOfNumbers > 500) { radioButtonsRange[0].setText("10"); radioButtonsRange[1].setText("20"); radioButtonsRange[2].setText("100"); radioButtonsRange[3].setText(currentSetting._rangeOfNumbers.ToString()); radioButtonsRange[3].checkButton(false); } // Iterate Button Auto Setting iterateButtons[0].setState(currentSetting._numberTypeFront); iterateButtons[1].setState(currentSetting._numberTypeBack); // Click and Unclick Operation Buttons if (currentSetting._operationPlusIsPossible) { checkButtonsOperation[0].checkButton(false); } else { checkButtonsOperation[0].uncheckButton(false); } if (currentSetting._operationTimesIsPossible) { checkButtonsOperation[1].checkButton(false); } else { checkButtonsOperation[1].uncheckButton(false); } if (currentSetting._operationMinusIsPossible) { checkButtonsOperation[2].checkButton(false); } else { checkButtonsOperation[2].uncheckButton(false); } if (currentSetting._operationDividedIsPossible) { checkButtonsOperation[3].checkButton(false); } else { checkButtonsOperation[3].uncheckButton(false); } // Click and Unclick Task Type Buttons if (currentSetting._taskTypeGreaterIsPossible) { checkButtonsTaskType[0].checkButton(false); } else { checkButtonsTaskType[0].uncheckButton(false); } if (currentSetting._taskTypeSmallerIsPossible) { checkButtonsTaskType[1].checkButton(false); } else { checkButtonsTaskType[1].uncheckButton(false); } if (currentSetting._taskTypeSameIsPossible) { checkButtonsTaskType[2].checkButton(false); } else { checkButtonsTaskType[2].uncheckButton(false); } //if (currentSetting._taskTypeEqualsIsPossible) // checkButtonsTaskType[3].checkButton(false); //else // checkButtonsTaskType[3].uncheckButton(false); // Click and unclick time Specification Buttons if (currentSetting._timeSpecification <= 8 && currentSetting._timeSpecification > 0) { radioButtonsTime[1].checkButton(false); radioButtonsTime[1].setText(currentSetting._timeSpecification.ToString()); radioButtonsTime[2].setText("15"); radioButtonsTime[3].setText("30"); } else if (currentSetting._timeSpecification <= 500 && currentSetting._timeSpecification > 0) { radioButtonsTime[2].checkButton(false); radioButtonsTime[1].setText("5"); radioButtonsTime[2].setText(currentSetting._timeSpecification.ToString()); radioButtonsTime[3].setText("30"); } else if (currentSetting._timeSpecification <= 1000 && currentSetting._timeSpecification > 0) { radioButtonsTime[3].checkButton(false); radioButtonsTime[1].setText("5"); radioButtonsTime[2].setText("15"); radioButtonsTime[3].setText(currentSetting._timeSpecification.ToString()); } else if (currentSetting._timeSpecification == -1) { radioButtonsTime[0].checkButton(false); radioButtonsTime[1].setText("5"); radioButtonsTime[2].setText("15"); radioButtonsTime[3].setText("30"); } }
public void setSettings(FMC_Settings newSettings) { settingsController.getCurrentSettingValues().setSettings(newSettings); }
//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); }