示例#1
0
 public virtual void CheckResult(bool result)
 {
     try
     {
         AnswerPanel.SetActive(true);
         int index = ResultManager.Instance.currentSceneIndex;
         EProgressBarItemState state = ResultManager.Instance.UpdateResult(index, result);
         if (ResultItem.Instance != null)
         {
             ResultItem.Instance.show(state);
         }
     }
     catch (Exception error)
     {
         Debug.LogError("Exception: " + error);
     }
 }
示例#2
0
    public EProgressBarItemState UpdateResult(int paramIndex, bool paramCorrect)
    {
        EProgressBarItemState state    = ResultManager.Instance.currentResult[paramIndex];
        EProgressBarItemState newState = state;

        switch (state)
        {
        case EProgressBarItemState.Empty:
            if (paramCorrect)
            {
                newState = EProgressBarItemState.FullCorrect;
            }
            else
            {
                newState = EProgressBarItemState.Incorrect;
            }
            break;

        case EProgressBarItemState.Incorrect:
            if (paramCorrect)
            {
                newState = EProgressBarItemState.HalfCorrect;
            }
            break;
        }

        currentResult[paramIndex] = newState;
        if (newState == EProgressBarItemState.Empty || newState == EProgressBarItemState.Incorrect)
        {
            questionTracker[paramIndex].correct = false;
        }
        else
        {
            questionTracker[paramIndex].correct = true;
        }

        if (QuizProgressBar.Instance != null)
        {
            QuizProgressBar.Instance.SetItemState(paramIndex);
        }
        return(newState);
    }
示例#3
0
    Sprite getIconFromState(int _index)
    {
        EProgressBarItemState paramState = ResultManager.Instance.currentResult[_index];

        switch (paramState)
        {
        case EProgressBarItemState.Empty:
            return(EmptyItemIcon);

        case EProgressBarItemState.Incorrect:
            return(IncorrectItemIcon);

        case EProgressBarItemState.HalfCorrect:
            return(HalfCorrectItemIcon);

        case EProgressBarItemState.FullCorrect:
            return(FullCorrectItemIcon);

        default:
            return(EmptyItemIcon);
        }
    }
示例#4
0
    public void show(EProgressBarItemState paramState)
    {
        CorrectGo.SetActive(false);
        IncorrectGo.SetActive(false);

        Sprite starIcon = IncorrectStar;

        if (paramState == EProgressBarItemState.FullCorrect)
        {
            CorrectGo.SetActive(true);
            starIcon = FullCorrectStar;
            if (audio != null)
            {
                audio.PlayOneShot(win);
            }
        }
        else if (paramState == EProgressBarItemState.HalfCorrect)
        {
            CorrectGo.SetActive(true);
            starIcon = HalfCorrectStar;
            if (audio != null)
            {
                audio.PlayOneShot(win);
            }
        }
        else
        {
            IncorrectGo.SetActive(true);
            starIcon = IncorrectStar;
            if (audio != null)
            {
                audio.PlayOneShot(lose);
            }
        }

        StarSprite.sprite = starIcon;
    }