Ejemplo n.º 1
0
    /// <summary>
    /// 初始化
    /// </summary>
    void InitAnswerUI()
    {
        this.m_answerManager = DataManager.Manager <AnswerManager>();

        if (m_answerManager.InAnswerCopy == true)
        {
            m_trans_AnswerRoot.gameObject.SetActive(true);

            this.m_answerState = m_answerManager.AnswerState;

            InitAnswerStateUI(this.m_answerState);
        }
        else
        {
            m_trans_AnswerRoot.gameObject.SetActive(false);
        }
    }
Ejemplo n.º 2
0
    void InitAnswerStateUI(AnswerManager.eAnswerState answerState)
    {
        //还未开始答题, > 活动开启10s
        if (answerState == AnswerManager.eAnswerState.BeforeAnswerRule)
        {
            m_trans_AnswerRuleRoot.gameObject.SetActive(true);
            m_label_AnswerReady.gameObject.SetActive(false);
            m_trans_AnswerReadyCD.gameObject.SetActive(false);
            m_trans_AnswerQuestion.gameObject.SetActive(false);
            m_trans_AnswerAnswer.gameObject.SetActive(false);

            table.LangTextDataBase langtextDb = GameTableManager.Instance.GetTableItem <table.LangTextDataBase>(160002);
            m_label_AnswerRuleDesc.text = langtextDb.strText;

            int leftTime = (int)this.m_answerManager.GetPreStartLeftTime();
            if (leftTime > 0)
            {
                m_label_AnswerRuleLeftTime.gameObject.SetActive(true);
                m_label_AnswerRuleLeftTime.text = string.Format("距本轮活动开始 {0:D2}:{1:D2}", leftTime / 60, leftTime % 60);
            }
            else
            {
                m_label_AnswerRuleLeftTime.gameObject.SetActive(false);
            }
        }

        else if (answerState == AnswerManager.eAnswerState.BeforeAnswerDesc)
        {
            m_trans_AnswerRuleRoot.gameObject.SetActive(false);
            m_label_AnswerReady.gameObject.SetActive(true);
            m_trans_AnswerReadyCD.gameObject.SetActive(false);
            m_trans_AnswerQuestion.gameObject.SetActive(false);
            m_trans_AnswerAnswer.gameObject.SetActive(false);
        }

        else if (answerState == AnswerManager.eAnswerState.BeforeAnswerDescCD)
        {
            m_trans_AnswerRuleRoot.gameObject.SetActive(false);
            m_label_AnswerReady.gameObject.SetActive(false);
            m_trans_AnswerReadyCD.gameObject.SetActive(true);
            m_trans_AnswerQuestion.gameObject.SetActive(false);
            m_trans_AnswerAnswer.gameObject.SetActive(false);

            if (this.m_answerManager.QuestionIndex == 0)
            {
                m_label_AnswerReadyCDTitle.text = "即将开始答题";
                float PreStartleftTime = this.m_answerManager.PreStartTime;
                m_label_AnswerReadyCDNum.text = ((int)PreStartleftTime).ToString();
            }
            else
            {
                m_label_AnswerReadyCDTitle.text = "即将进入下一题";
                m_label_AnswerReadyCDNum.text   = Mathf.CeilToInt(this.m_answerManager.TrueOrFalseTime).ToString();
            }
        }

        else if (answerState == AnswerManager.eAnswerState.InQuestion)
        {
            m_trans_AnswerRuleRoot.gameObject.SetActive(false);
            m_label_AnswerReady.gameObject.SetActive(false);
            m_trans_AnswerReadyCD.gameObject.SetActive(false);
            m_trans_AnswerQuestion.gameObject.SetActive(true);
            m_trans_AnswerAnswer.gameObject.SetActive(false);

            m_sprite_QuestionCD.gameObject.SetActive(true);

            uint   index  = DataManager.Manager <AnswerManager>().QuestionIndex;
            uint   maxNum = DataManager.Manager <AnswerManager>().MaxNum;
            string title  = string.Format("第{0}/{1}题", index, maxNum);
            m_label_QuestionTitle.text = title;

            uint questionId = DataManager.Manager <AnswerManager>().QuestionId;
            table.RightOrWrongDataBase db = GameTableManager.Instance.GetTableItem <table.RightOrWrongDataBase>(questionId);
            if (db != null)
            {
                m_label_QuestionDesc.text = db.answer;
            }


            float questionLeftTime = this.m_answerManager.QuestionTime;

            float fillAmount = questionLeftTime / 20f;
            m_sprite_QuestionCD.fillAmount = fillAmount;
            m_label_QuestionCDLabel.text   = Mathf.CeilToInt(questionLeftTime).ToString();
        }

        else if (answerState == AnswerManager.eAnswerState.InQuestionCD)
        {
            m_trans_AnswerRuleRoot.gameObject.SetActive(false);
            m_label_AnswerReady.gameObject.SetActive(false);
            m_trans_AnswerReadyCD.gameObject.SetActive(false);
            m_trans_AnswerQuestion.gameObject.SetActive(true);
            m_trans_AnswerAnswer.gameObject.SetActive(false);

            m_sprite_QuestionCD.gameObject.SetActive(false);

            //中间弹出5、4、3、2、1
        }

        else if (answerState == AnswerManager.eAnswerState.AnswerAnswer)//答案  o  x
        {
            m_trans_AnswerRuleRoot.gameObject.SetActive(false);
            m_label_AnswerReady.gameObject.SetActive(false);
            m_trans_AnswerReadyCD.gameObject.SetActive(false);
            m_trans_AnswerQuestion.gameObject.SetActive(false);
            m_trans_AnswerAnswer.gameObject.SetActive(true);

            bool trueOrFalse = DataManager.Manager <AnswerManager>().AnswerTrueOrFalse;
            m_sprite_True.gameObject.SetActive(false);
            m_sprite_False.gameObject.SetActive(false);

            //添加特效
            m_widget_answerEffectRoot.gameObject.SetActive(true);
            AddTrueOrFalseEffect(trueOrFalse);
        }

        else if (answerState == AnswerManager.eAnswerState.AnswerNextCD)
        {
            m_trans_AnswerRuleRoot.gameObject.SetActive(false);
            m_label_AnswerReady.gameObject.SetActive(false);
            m_trans_AnswerReadyCD.gameObject.SetActive(true);
            m_trans_AnswerQuestion.gameObject.SetActive(false);
            m_trans_AnswerAnswer.gameObject.SetActive(false);

            m_label_AnswerReadyCDTitle.text = "即将进入下一题";
            m_label_AnswerReadyCDNum.text   = Mathf.CeilToInt(this.m_answerManager.TrueOrFalseTime).ToString();//3、2、1
        }

        else
        {
            m_trans_AnswerRuleRoot.gameObject.SetActive(true);
            m_label_AnswerReady.gameObject.SetActive(false);
            m_trans_AnswerReadyCD.gameObject.SetActive(false);
            m_trans_AnswerQuestion.gameObject.SetActive(false);
            m_trans_AnswerAnswer.gameObject.SetActive(false);

            table.LangTextDataBase langtextDb = GameTableManager.Instance.GetTableItem <table.LangTextDataBase>(160002);
            m_label_AnswerRuleDesc.text = langtextDb.strText;
        }
    }