public override void Initialize(int progressNumber) { instance = this; //half sad singleton uiLinks = GameObject.FindObjectOfType <UIGameLinks>(); if (!ButtonInteractions.firstPlay) { uiLinks.replayButton.SetActive(false); } gameManager = GameObject.FindObjectOfType <GameManager>(); gameManager.Initialize(); currentLevelFunction = QuestionBank.Instance.Initialize(); UIManager.Instance.Initialize(currentLevelFunction); numberOfStacksSolved = 0; numberOfStacksNotSolved = 0; UIManager.Instance.ChangeScienceAmt(amtOfScience); winningStreak = 0; base.Initialize(progressNumber); if (ChildBot.childBotActive) { childBot = new ChildBot(); } //LoadLevelPkg(LevelPkg.GenerateLevelPackage(currentDifficulty), currentDifficulty); }
public void Initialize(LoLFunction firstLolFunction) { uiLinks = GameFlow.uiLinks; SetPlaceholderContainerActive(!answerFocused); Rect rect = uiLinks.graph.rect; graphAspect = (rect.width > 0) ? rect.height / rect.width : 0f; timer = 0f; SetIncomingWaveAlpha(0f); ChangeLolFunction(firstLolFunction); }
public LoLFunction Initialize() { //Initialize the question bank questionBank = new Stack <LoLFunction>(); for (int i = questionBankInitialSize; i > 0; --i) { LoLFunction lf; if (i % 5 == 0 && i <= 25) { lf = LoLFunction.GenerateLoLFunction(i, true); } else { lf = LoLFunction.GenerateLoLFunction(i, false); } questionBank.Push(lf); } return(questionBank.Pop()); }
public void ChangeLolFunction(LoLFunction newLolFunction) { if (!newLolFunction.isDumbGraphFunction) { uiLinks.questionText.text = newLolFunction.ToString(); uiLinks.sampleInputText.text = GV.OutputSampleInput(newLolFunction.inputVars); uiLinks.graphFunctionObject.SetActive(false); uiLinks.questionText.gameObject.SetActive(true); } else { //uiLinks.questionText.text = newLolFunction.ToString(); uiLinks.sampleInputText.text = GV.OutputSampleInput(newLolFunction.inputVars); uiLinks.graphFunctionObject.SetActive(true); uiLinks.questionText.gameObject.SetActive(false); float slope = newLolFunction.coefficents[0]; if (newLolFunction.isGraphCoefficientInverse) { slope = 1f / slope; } int offset = newLolFunction.coefficents[3]; //int output = newLolFunction.Solve(); int scale = 1; //while (output > (scale * 8)) // scale *= 2; for (int i = 0; i < 5; i++) { uiLinks.graphTextX[i].text = uiLinks.graphTextY[i].text = (i * scale * 2).ToString(); } float curveOffset = 0.1111f * offset / scale; uiLinks.graphCurve.anchorMin = new Vector2(uiLinks.graphCurve.anchorMin.x, curveOffset); uiLinks.graphCurve.anchorMax = new Vector2(uiLinks.graphCurve.anchorMax.x, curveOffset); float curveAngle = Mathf.Atan(slope * graphAspect) * 180f / Mathf.PI; uiLinks.graphCurve.localEulerAngles = new Vector3(uiLinks.graphCurve.localEulerAngles.x, uiLinks.graphCurve.localEulerAngles.y, curveAngle); } }
private void SolvedLevelPackage() { numberOfStacksSolved++; ProgressTracker.Instance.ModScore(1); int pts = Mathf.Max(currentLevelFunction.currentLevel / 15, 1); currentLevelFunction = QuestionBank.Instance.Pop(); //LoadLevelPkg(LevelPkg.GenerateLevelPackage(currentDifficulty), currentDifficulty); ProgressTracker.Instance.SetScore(numberOfStacksSolved); ProgressTracker.Instance.SubmitProgress(2); //LOLAudio.Instance.PlayAudio("PositiveFeedback"); UIManager.Instance.ChangeLolFunction(currentLevelFunction); amtOfScience += pts; UIManager.Instance.ChangeScienceAmt(amtOfScience); winningStreak++; //gameManager.SetStreak(winningStreak); uiLinks.scienceAmt.color = Color.green; lerpTimeRemaining = colorLerpTotalTime; lerping = true; fromColor = Color.green; }