/// <summary>
    /// Instantiates Speed Effect Prefab
    /// </summary>
    /// <param name="speedyType">Speedy type.</param>
    public void ShowSpeedyEffect(QuestionSystemEnums.SpeedyType speedyType)
    {
        switch (speedyType)
        {
        case QuestionSystemEnums.SpeedyType.Awesome:
            speedyEffect = SystemResourceController.Instance.LoadPrefab("AwesomeEffect", SystemPopupController.Instance.popUp);
            speedyEffect.GetComponent <Text>().text = "AWESOME!!";
            SystemSoundController.Instance.PlaySFX("SFX_Awesome");
            break;

        case QuestionSystemEnums.SpeedyType.Good:
            speedyEffect = SystemResourceController.Instance.LoadPrefab("AwesomeEffect", SystemPopupController.Instance.popUp);
            speedyEffect.GetComponent <Text>().text = "GOOD";
            SystemSoundController.Instance.PlaySFX("SFX_correct");
            break;

        case QuestionSystemEnums.SpeedyType.Rotten:
            speedyEffect = SystemResourceController.Instance.LoadPrefab("RottenEffect", SystemPopupController.Instance.popUp);
            speedyEffect.GetComponent <Text>().text = "NOT BAD";
            SystemSoundController.Instance.PlaySFX("SFX_rotten");
            break;
        }

        speedyEffect.transform.position = Vector3.zero;
        if (speedyType.Equals(QuestionSystemEnums.SpeedyType.Awesome))
        {
            TweenFacade.TweenScaleToLarge(speedyEffect.transform, Vector3.one, 1.0f);
        }
    }
 public QuestionResultModel(int questionId, int timePassed, int numberHints, bool isCorrect, QuestionSystemEnums.SpeedyType speedyType)
 {
     this.questionId  = questionId;
     this.timePassed  = timePassed;
     this.numberHints = numberHints;
     this.isCorrect   = isCorrect;
     this.speedyType  = speedyType;
 }
    /// <summary>
    /// Increases the current QuestionNumber
    ///
    /// </summary>
    /// <param name="isCorrect">If set to <c>true</c> is correct.</param>
    public void CheckAnswer(bool isCorrect)
    {
        idealTime = questionList [currentQuestionNumber].idealTime;

        if (isCorrect)
        {
            QuestionSystemEnums.SpeedyType speedyType = questionRoundTimer.GetSpeedyType(idealTime);
            ShowSpeedyEffect(speedyType);
            onQuestionResult(new QuestionResultModel(00000, 13, 3, isCorrect, speedyType));
            QuestionFinish();
            questionHint.hasHintAvailable = false;
            Invoke("NextQuestion", 1f);
        }
        else
        {
            SystemSoundController.Instance.PlaySFX("SFX_mistake");
            TweenFacade.TweenShakePosition(gameObject.transform, 1.0f, 30.0f, 50, 90f);
        }
    }
 public QuestionSystemEnums.SpeedyType GetSpeedyType(double idealTime)
 {
     hintInterval = 5;
     QuestionSystemEnums.SpeedyType speedyType = QuestionSystemEnums.SpeedyType.Good;
     if (timePassed < idealTime)
     {
         speedyType = QuestionSystemEnums.SpeedyType.Awesome;
     }
     else if (timePassed >= idealTime)
     {
         if (timePassed >= (idealTime * 2))
         {
             speedyType = QuestionSystemEnums.SpeedyType.Rotten;
         }
         else
         {
             speedyType = QuestionSystemEnums.SpeedyType.Good;
         }
     }
     return(speedyType);
 }