Exemple #1
0
    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;
        }
    }
Exemple #2
0
    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;
        }
    }