void Update() { switch(currentState){ case GameState.Idle: #if UNITY_EDITOR readyToConfigure = true; #endif if(readyToConfigure){ currentState = GameState.ConfigGame; } break; case GameState.ConfigGame: currentState = GameState.ConfigCards; break; case GameState.ConfigCards: Text dispTxt = GameObject.Find("questText").gameObject.GetComponent<Text>(); disp = new dispTerm(questionPanel, dispTxt); disp.txtDisp.text = "here"; allTerms = convertCSV(parseContent(contentForAssign)); generateBuckets(pullCategories(allTerms)); unmasteredTerms = allTerms.ToList(); currentState = GameState.ResetCards; break; case GameState.ResetCards: masteryMeter.value = getMastery(); Timer1.s_instance.Reset(15f); correctTermIndex = Random.Range(0,unmasteredTerms.Count); disp.setDisp(unmasteredTerms[correctTermIndex]); firstPress = true; currentState = GameState.PlayingCards; break; case GameState.PlayingCards: if(handleBucketPress){ if(allBuckets[currIndex].category == disp.reqArg){ if(firstPress){ if(SoundManager.s_instance!=null){ SoundManager.s_instance.PlaySound(SoundManager.s_instance.m_correct); } background.SendMessage("correct"); unmasteredTerms[correctTermIndex].mastery++; currentState = GameState.ResetCards; if(unmasteredTerms[correctTermIndex].mastery == requiredMastery*.75f){ unmasteredTerms.RemoveAt(correctTermIndex); } }else{ background.SendMessage("correct"); unmasteredTerms[correctTermIndex].mastery--; currentState = GameState.ResetCards; } }else{ background.SendMessage("incorrect"); if(SoundManager.s_instance!=null)SoundManager.s_instance.PlaySound(SoundManager.s_instance.m_wrong); Timer1.s_instance.Pause(); firstPress = false; handleBucketPress = false; } masteryMeter.value = getMastery(); if(getMastery() >= 1f){ currentState = GameState.End; } } disp.disp.transform.localPosition = Vector3.Lerp( disp.start, disp.end, Timer1.s_instance.normTime ); if(Timer1.s_instance.timesUp && !Timer1.s_instance.pause){ Timer1.s_instance.Pause(); unmasteredTerms[correctTermIndex].mastery -=2; } handleBucketPress = false; break; case GameState.End: break; } }
void Update() { switch (currentState) { case GameState.Idle: #if UNITY_EDITOR readyToConfigure = true; #endif if (readyToConfigure) { currentState = GameState.ConfigGame; } break; case GameState.ConfigGame: currentState = GameState.ConfigCards; break; case GameState.ConfigCards: Text dispTxt = GameObject.Find("questText").gameObject.GetComponent <Text>(); disp = new dispTerm(questionPanel, dispTxt); disp.txtDisp.text = "here"; allTerms = convertCSV(parseContent(contentForAssign)); generateBuckets(pullCategories(allTerms)); unmasteredTerms = allTerms.ToList(); currentState = GameState.ResetCards; break; case GameState.ResetCards: masteryMeter.value = getMastery(); Timer1.s_instance.Reset(15f); correctTermIndex = Random.Range(0, unmasteredTerms.Count); disp.setDisp(unmasteredTerms[correctTermIndex]); firstPress = true; currentState = GameState.PlayingCards; break; case GameState.PlayingCards: if (handleBucketPress) { if (allBuckets[currIndex].category == disp.reqArg) { if (firstPress) { if (SoundManager.s_instance != null) { SoundManager.s_instance.PlaySound(SoundManager.s_instance.m_correct); } background.SendMessage("correct"); unmasteredTerms[correctTermIndex].mastery++; currentState = GameState.ResetCards; if (unmasteredTerms[correctTermIndex].mastery == requiredMastery * .75f) { unmasteredTerms.RemoveAt(correctTermIndex); } } else { background.SendMessage("correct"); unmasteredTerms[correctTermIndex].mastery--; currentState = GameState.ResetCards; } } else { background.SendMessage("incorrect"); if (SoundManager.s_instance != null) { SoundManager.s_instance.PlaySound(SoundManager.s_instance.m_wrong); } Timer1.s_instance.Pause(); firstPress = false; handleBucketPress = false; } masteryMeter.value = getMastery(); if (getMastery() >= 1f) { currentState = GameState.End; } } disp.disp.transform.localPosition = Vector3.Lerp( disp.start, disp.end, Timer1.s_instance.normTime ); if (Timer1.s_instance.timesUp && !Timer1.s_instance.pause) { Timer1.s_instance.Pause(); unmasteredTerms[correctTermIndex].mastery -= 2; } handleBucketPress = false; break; case GameState.End: break; } }