From fe00e5af27aa1e7019d2a3eeb931fa8d70b4a02f Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期五, 15 三月 2019 14:18:17 +0800
Subject: [PATCH] 6346  【前端】【2.0】宗门试炼解锁条件修改

---
 System/Dungeon/TrialDungeonSelectBehaviour.cs |  121 +++++++++++-----------------------------
 1 files changed, 34 insertions(+), 87 deletions(-)

diff --git a/System/Dungeon/TrialDungeonSelectBehaviour.cs b/System/Dungeon/TrialDungeonSelectBehaviour.cs
index 61a24e8..e6e913c 100644
--- a/System/Dungeon/TrialDungeonSelectBehaviour.cs
+++ b/System/Dungeon/TrialDungeonSelectBehaviour.cs
@@ -12,46 +12,23 @@
 
     public class TrialDungeonSelectBehaviour : ScrollItem
     {
-
-        [Header("Button")]
-        [SerializeField]
-        Button m_SelectButton;
-
-        [Header("Image")]
-        [SerializeField]
-        Image m_BackGround;
-        [SerializeField]
-        Image m_SceneBG;
-        [SerializeField]
-        Image m_TitleIcon;
-        [SerializeField]
-        Image m_BossIcon;
-        [SerializeField]
-        Image m_BossFrame;
-
-        [SerializeField]
-        Text m_DungeonName;
-        [SerializeField]
-        Text m_BossLevel;
-        [SerializeField]
-        Text m_LevelLimit;
-
-        [SerializeField] RectTransform m_ContainerHighest;
-        [SerializeField] Image m_HighestGrade;
-
+        [SerializeField] Button m_SelectButton;
+        [SerializeField] Image m_BackGround;
+        [SerializeField] Image m_SceneBG;
+        [SerializeField] Image m_TitleIcon;
+        [SerializeField] Image m_BossIcon;
+        [SerializeField] Image m_BossFrame;
+        [SerializeField] Text m_DungeonName;
+        [SerializeField] Text m_PlayerLevel;
+        [SerializeField] Text m_PetHorseLevel;
+        [SerializeField] Text m_ChallengeRemind;
         [SerializeField] SmoothMask m_SmoothMask;
 
-        [SerializeField]
-        Transform m_Other;
-
         Dungeon dungeon;
-        DungeonRecord dungeonRecord;
         TrialDungeonSelectWin m_TrailDungeonSelectWin;
 
-        DungeonModel m_Model;
-        DungeonModel model {
-            get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>()); }
-        }
+        DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
+        TrialDungeonModel trialDungeonModel { get { return ModelCenter.Instance.GetModel<TrialDungeonModel>(); } }
 
         public override void Display(object _data)
         {
@@ -88,49 +65,38 @@
 
             var _npcId = config.BossActorID[0];
             var bossConfig = NPCConfig.Get(_npcId);
-            m_BossLevel.text = Language.Get("Z1024", config.LVLimitMin);
-            m_BossLevel.color = PlayerDatas.Instance.baseData.LV >= config.LVLimitMin ?
+
+            m_PlayerLevel.text = Language.Get("Z1024", config.LVLimitMin);
+            m_PlayerLevel.color = PlayerDatas.Instance.baseData.LV >= config.LVLimitMin ?
                 UIHelper.GetUIColor(TextColType.Green, true) : UIHelper.GetUIColor(TextColType.Red, true);
 
+            var requirePetHorseLevel = trialDungeonModel.GetDungeonRequirePetHorseLevel(_dungeon.lineId);
+            var petHorseLevel = trialDungeonModel.GetPetHorseLevel();
+            m_PetHorseLevel.text = Language.Get("Z1024", requirePetHorseLevel);
+            m_PetHorseLevel.color = petHorseLevel >= requirePetHorseLevel ?
+                UIHelper.GetUIColor(TextColType.Green, true) : UIHelper.GetUIColor(TextColType.Red, true);
+
+            DungeonRecord dungeonRecord;
             model.TryGetRecord(_dungeon.mapId, out dungeonRecord);
-            int prestar = 1;
-            int star = 0;
-            dungeonRecord.lineGrades.TryGetValue(config.LineID, out star);
-            if (config.LineID > 0)
+            bool prefloorPass = _dungeon.lineId == 0;
+            if (_dungeon.lineId > 0 && dungeonRecord != null)
             {
-                dungeonRecord.lineGrades.TryGetValue(config.LineID - 1, out prestar);
-            }
-            else
-            {
-                prestar = 5;
+                var grade = 0;
+                dungeonRecord.lineGrades.TryGetValue(config.LineID - 1, out grade);
+                prefloorPass = grade > 0;
             }
 
-            m_ContainerHighest.gameObject.SetActive(star > 0);
-            if (star > 0)
+            if (PlayerDatas.Instance.baseData.LV < config.LVLimitMin
+                || petHorseLevel < requirePetHorseLevel || !prefloorPass)
             {
-                m_HighestGrade.SetSprite(StringUtility.Contact("Remark_", GetStar(star)));
-                m_HighestGrade.SetNativeSize();
-                var sizeDelta = m_HighestGrade.rectTransform.sizeDelta;
-                m_HighestGrade.rectTransform.sizeDelta = sizeDelta * 0.76f;
-            }
-
-            if (PlayerDatas.Instance.baseData.LV < config.LVLimitMin)
-            {
-                m_LevelLimit.text = Language.Get("TrialDungeonLevelLimit");
-                m_LevelLimit.color = UIHelper.GetUIColor(TextColType.Red, true);
-                SetImageGray(true);
-            }
-            else if (prestar < GeneralDefine.munekadolockLimit)
-            {
-                m_LevelLimit.text = Language.Get("TrialDungeonGradeLimit",
-                    Language.Get(StringUtility.Contact("Num_CHS_", config.LineID)), UIHelper.GetGrade(GeneralDefine.munekadolockLimit));
-                m_LevelLimit.color = UIHelper.GetUIColor(TextColType.Red, true);
+                m_ChallengeRemind.text = Language.Get("TrialDungeonLock");
+                m_ChallengeRemind.color = UIHelper.GetUIColor(TextColType.Red, true);
                 SetImageGray(true);
             }
             else
             {
-                m_LevelLimit.text = Language.Get("TrialDungeonLocked");
-                m_LevelLimit.color = UIHelper.GetUIColor(TextColType.Green, true);
+                m_ChallengeRemind.text = Language.Get("TrialDungeonUnLock");
+                m_ChallengeRemind.color = UIHelper.GetUIColor(TextColType.NavyBrown, true);
                 SetImageGray(false);
             }
 
@@ -144,7 +110,7 @@
 
         private void Select()
         {
-            m_TrailDungeonSelectWin.currentSelectDungeon=dungeon;
+            m_TrailDungeonSelectWin.currentSelectDungeon = dungeon;
             model.selectedTrialDungeon = dungeon;
             WindowCenter.Instance.Open<TrialDungeonEntranceWin>();
         }
@@ -160,26 +126,7 @@
             m_BossIcon.material = _gray ? m_SmoothMask.imageMaterials[1] : m_SmoothMask.imageMaterials[0];
             m_TitleIcon.material = _gray ? m_SmoothMask.imageMaterials[1] : m_SmoothMask.imageMaterials[0];
         }
-
-        private string GetStar(int star)
-        {
-            switch (star)
-            {
-                case 5:
-                    return "S";
-                case 4:
-                    return "A";
-                case 3:
-                    return "B";
-                case 2:
-                    return "C";
-                default:
-                    return "D";
-            }
-        }
-
     }
-
 }
 
 

--
Gitblit v1.8.0