コード例 #1
0
        private void SetUpQuizResultView()
        {
            StopAllCoroutines();

            wordQuizContainer.gameObject.SetActive(false);

            interactiveMask.enabled = false;

            WordRecordQuizResult quizResult = new WordRecordQuizResult(sourceWords.Count, correctWordsCount, wrongWordsCount, maxContinousHitCount, healthGainTotal, manaGainTotal, extraPropertySets);

            quizResultHUD.SetUpQuizResultView(quizResult, QuitQuizView);

            //quizResultHUD.gameObject.SetActive(true);
        }
コード例 #2
0
        public void SetUpQuizResultView(WordRecordQuizResult result, CallBack confirmResultCallBack)
        {
            this.confirmResultCallBack = confirmResultCallBack;

            int quizWordCount = result.correctWordsCount + result.wrongWordsCount;

            generalInfoText.text = string.Format("<color=orange>复习单词数: {0}个</color>\n正确单词数: {1}个\n错误单词数: {2}个",
                                                 quizWordCount, result.correctWordsCount, result.wrongWordsCount);


            correctPercentageText.text = string.Format("  正确率:\n<color=white><size=70>{0}%</size></color>",
                                                       result.correctWordsCount * 100 / quizWordCount);

            healthGainText.text = string.Format("+{0}", result.healthGainTotal);

            manaGainText.text = string.Format("+{0}", result.manaGainTotal);

            maxContinousHitText.text = string.Format("最高连击数: {0}", result.maxContinousHitCount);

            int   attackGain      = 0;
            int   magicAttackGain = 0;
            int   armorGain       = 0;
            int   magicResistGain = 0;
            float dodgeGain       = 0;
            float critGain        = 0;

            for (int i = 0; i < result.extraPropertySets.Count; i++)
            {
                PropertySet ps = result.extraPropertySets[i];

                switch (ps.type)
                {
                case PropertyType.Attack:
                    attackGain += Mathf.RoundToInt(ps.value);
                    break;

                case PropertyType.MagicAttack:
                    magicAttackGain += Mathf.RoundToInt(ps.value);
                    break;

                case PropertyType.Armor:
                    armorGain += Mathf.RoundToInt(ps.value);
                    break;

                case PropertyType.MagicResist:
                    magicResistGain += Mathf.RoundToInt(ps.value);
                    break;

                case PropertyType.Dodge:
                    dodgeGain += ps.value;
                    break;

                case PropertyType.Crit:
                    critGain += ps.value;
                    break;
                }
            }

            Player.mainPlayer.health += result.healthGainTotal;
            Player.mainPlayer.mana   += result.manaGainTotal;

            ExploreManager.Instance.UpdatePlayerStatusPlane();



            if (attackGain > 0)
            {
                attackGainText.text               = string.Format("+{0}", attackGain);
                Player.mainPlayer.attack         += attackGain;
                Player.mainPlayer.originalAttack += attackGain;
            }
            else
            {
                attackGainText.text = "--";
            }

            if (magicAttackGain > 0)
            {
                magicAttackGainText.text               = string.Format("+{0}", magicAttackGain);
                Player.mainPlayer.magicAttack         += magicAttackGain;
                Player.mainPlayer.originalMagicAttack += magicAttackGain;
            }
            else
            {
                magicAttackGainText.text = "--";
            }

            if (armorGain > 0)
            {
                armorGainText.text               = string.Format("+{0}", armorGain);
                Player.mainPlayer.armor         += armorGain;
                Player.mainPlayer.originalArmor += armorGain;
            }
            else
            {
                armorGainText.text = "--";
            }

            if (magicResistGain > 0)
            {
                magicResistGainText.text               = string.Format("+{0}", magicResistGain);
                Player.mainPlayer.magicResist         += magicResistGain;
                Player.mainPlayer.originalMagicResist += magicResistGain;
            }
            else
            {
                magicResistGainText.text = "--";
            }

            if (dodgeGain > float.Epsilon)
            {
                dodgeGainText.text               = string.Format("+{0}%", ((dodgeGain + float.Epsilon) * 100).ToString("0.0"));
                Player.mainPlayer.dodge         += dodgeGain;
                Player.mainPlayer.originalDodge += dodgeGain;
            }
            else
            {
                dodgeGainText.text = "--";
            }

            if (critGain > float.Epsilon)
            {
                critGainText.text               = string.Format("+{0}%", ((critGain + float.Epsilon) * 100).ToString("0.0"));
                Player.mainPlayer.crit         += critGain;
                Player.mainPlayer.originalCrit += critGain;
            }
            else
            {
                critGainText.text = "--";
            }

            this.gameObject.SetActive(true);

            GameManager.Instance.soundManager.PlayAudioClip(CommonData.paperAudioName);


            if (zoomCoroutine != null)
            {
                StopCoroutine(zoomCoroutine);
            }

            zoomCoroutine = HUDZoomIn();

            StartCoroutine(zoomCoroutine);
        }