From fbe3a861f641233473a0d1995d147a42f0b43c90 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 07 三月 2025 09:27:52 +0800
Subject: [PATCH] 0312 重置五行第一次免费改1000级,功能预告优化

---
 System/MainInterfacePanel/FeaturesType3.cs |  221 +++++++++----------------------------------------------
 1 files changed, 37 insertions(+), 184 deletions(-)

diff --git a/System/MainInterfacePanel/FeaturesType3.cs b/System/MainInterfacePanel/FeaturesType3.cs
index e36b045..b922763 100644
--- a/System/MainInterfacePanel/FeaturesType3.cs
+++ b/System/MainInterfacePanel/FeaturesType3.cs
@@ -10,37 +10,20 @@
 
 namespace vnxbqy.UI
 {
-    //鍔熻兘棰勫憡绗笁閮�
 
-    public class FeaturesType3 : MonoBehaviour
+    public class FeaturesType3 : CellView
     {
         [SerializeField] ImageEx m_Image_Selected;//搴曟澘
-        [SerializeField] ImageEx m_Img_Circle;//Icon妗�
         [SerializeField] ImageEx m_FeaturesTypeIcon;//Icon
         [SerializeField] Text m_FunctionName;//鍔熻兘鍚�
-        [SerializeField] Text m_FunctionalLevel;//鍔熻兘绛夌骇
+        [SerializeField] Text m_FunctionalLevel;//鍔熻兘瑙i攣鏉′欢
         [SerializeField] Text m_Content;//鍐呭
-        [SerializeField] GameObject m_Award;
-
-        [SerializeField] ImageEx m_ItemBG1;
-        [SerializeField] ImageEx m_Icon1;
-        [SerializeField] Button m_IconBtn1;
-        [SerializeField] Text m_Number1;
-        [SerializeField] ImageEx m_Lock1;
-        [SerializeField] UIEffect m_UIEffect1;
+        [SerializeField] ItemCell m_Award;
         [SerializeField] GameObject m_HasReceived1;
-
-        [SerializeField] ImageEx m_ItemBG2;
-        [SerializeField] ImageEx m_Icon2;
-        [SerializeField] Button m_IconBtn2;
-        [SerializeField] Text m_Number2;
-        [SerializeField] ImageEx m_Lock2;
-        [SerializeField] UIEffect m_UIEffect2;
-        [SerializeField] GameObject m_HasReceived2;
-
         [SerializeField] RedpointBehaviour m_RedPoint;
         FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel<FeatureNoticeModel>(); } }
-        
+        TaskModel taskModel { get { return ModelCenter.Instance.GetModel<TaskModel>(); } }
+
         public void GetTheFeatureID(int funcId)
         {
             var functionForecastConfig = FunctionForecastConfig.Get(funcId);
@@ -48,63 +31,47 @@
             {
                 return;
             }
-            m_FunctionalLevel.text = Language.Get("LoadIconLV", functionForecastConfig.DisplayLevel);
-            bool Type = false;
-            int NeedLv = 0;
-            int playerLv = PlayerDatas.Instance.baseData.LV;
-            if (functionForecastConfig.OpenNumber - 2 >= featureNoticeModel.FunctionForecastIndex)
-            {
-                Type = true;
-                NeedLv = featureNoticeModel.GetOpenLv(functionForecastConfig.OpenNumber - 2);
-            }
-            if (!FuncOpen.Instance.IsFuncOpen(funcId) && Type && NeedLv > playerLv)
-            {
-                m_FunctionName.SetActive(false);
-              //  m_FunctionName.text = "?";
-                m_FeaturesTypeIcon.SetSprite("UnKnowIcon");
-                m_Award.SetActive(false);
-                m_Content.SetActive(true);
-                m_Content.text = string.Format(Language.Get("YGFuncLevel"), NeedLv, PlayerDatas.Instance.baseData.LV, NeedLv);
-            }
-            else
-            {
-                m_FunctionName.SetActive(true);
-                m_FunctionName.text = functionForecastConfig.FuncName;
-                m_FeaturesTypeIcon.SetSprite(functionForecastConfig.FuncIconKey);
-                if (featureNoticeModel.DicAwardItem.ContainsKey(funcId))
-                {
-                    m_Award.SetActive(true);
-                    m_Content.SetActive(false);
+            var funcOpenConfig = FuncOpenLVConfig.Get(funcId);
 
-                    SetRankAwardItem(funcId);
-                    //-------------------
+            m_FunctionName.text = funcOpenConfig.Remark;
+
+            if (FuncOpen.Instance.IsFuncOpen(funcId))
+            {
+                m_FunctionalLevel.text = "";
+            }
+            else if (funcOpenConfig.LimitMissionID != 0)
+            {
+                int tagValue = TaskListConfig.GetMissionIndex(funcOpenConfig.LimitMissionID);
+                int curValue = TaskListConfig.GetMissionIndex(taskModel.GetLatestMainTaskId());
+                if (funcId == 3)
+                {
+                    //缈呰唨鏀嚎寮�鍚� FuncNoOpen2 funcid=3 鏀嚎绛夌骇瀹㈡埛绔病鏈夎褰曪紝鍚庣画浼樺寲鏄惁閰嶇疆鍦ㄥ姛鑳介厤缃〃
+                    m_FunctionalLevel.text = Language.Get("FuncNoOpen2", 200);
                 }
                 else
                 {
-                    m_Award.SetActive(false);
-                    m_Content.SetActive(true);
-                    m_Content.text = functionForecastConfig.Content;
+                    m_FunctionalLevel.text = Language.Get("FuncNoOpen1", tagValue - curValue);
                 }
-
-            }
-            if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.DisplayLevel)
-            {
-                m_FunctionalLevel.color = new Color32(141, 220, 17, 255);
             }
             else
             {
-                m_FunctionalLevel.color = new Color32(255, 244, 205, 255);
+                //鍚庣画瀹屽杽澧冪晫瑙i攣绛�
+                m_FunctionalLevel.text = Language.Get("FuncLevelOpen", funcOpenConfig.LimitLV);
             }
+
+
+            m_FeaturesTypeIcon.SetSprite(funcOpenConfig.Icon);
+            m_Content.text = functionForecastConfig.DetailDescribe;
+            SetRankAwardItem(funcId);
+            
             if (FuncOpen.Instance.IsFuncOpen(funcId))
             {
                 m_Image_Selected.gray = false;
-                m_Img_Circle.gray = false;
                 m_FeaturesTypeIcon.gray = false;
             }
             else
             {
                 m_Image_Selected.gray = true;
-                m_Img_Circle.gray = true;
                 m_FeaturesTypeIcon.gray = true;
             }
 
@@ -118,73 +85,18 @@
         {
             ImpactRankModel.RankAwardItem rankAward = featureNoticeModel.DicAwardItem[funcID];
             List<Item> List = rankAward.GetAwardItem(PlayerDatas.Instance.baseData.Job);
-
-            if (List.Count <= 1)
-            {
-                m_ItemBG1.SetActive(true);
-                m_ItemBG2.SetActive(false);
-                SetItem1(List, funcID);
-            }
-            else
-            {
-                m_ItemBG1.SetActive(true);
-                m_ItemBG2.SetActive(true);
-                SetItem1(List, funcID);
-                SetItem2(List, funcID);
-
-            }
-
+            SetItem1(List, funcID);
         }
         private void SetItem1(List<Item> List,int funcID)
         {
-            var itemConfig = ItemConfig.Get(List[0].id);
-            UIHelper.SetItemBackGround(m_ItemBG1, itemConfig.ItemColor, itemConfig.QualityEchoType);
-            m_Icon1.SetSprite(itemConfig.IconKey);
-            m_IconBtn1.SetListener(() =>
-            {
-                if (featureNoticeModel.DicOpenFuncState.ContainsKey(funcID) && featureNoticeModel.DicOpenFuncState[funcID].State == 1 &&
-                featureNoticeModel.DicOpenFuncState[funcID].AwardState == 0)
-                {
-                    featureNoticeModel.SendGetAward(funcID);
-                   // DebugEx.LogError("鍙互棰嗗彇");
-                }
-                else
-                {
-                    ItemTipUtility.Show(List[0].id);
-                   // DebugEx.LogError("寮规");
-                }
-
+            int itemID = List[0].id;
+            int count = List[0].count;
+            m_Award.Init(new ItemCellModel(itemID, false, (ulong)count));
+            m_Award.button.AddListener(() => {
+                featureNoticeModel.SendGetAward(funcID);
             });
-            if (List[0].count > 1)
-            {
-                m_Number1.SetActive(true);
-                m_Number1.text = List[0].count.ToString();
-            }
-            else
-            {
-                m_Number1.SetActive(false);
-            }
-            if (FuncOpen.Instance.IsFuncOpen(funcID))
-            {
-                m_ItemBG1.gray = false;
-                m_Icon1.gray = false;
-                m_Lock1.gray = false;
-            }
-            else
-            {
-                m_ItemBG1.gray = true;
-                m_Icon1.gray = true;
-                m_Lock1.gray = true;
-            }
-            if (featureNoticeModel.DicOpenFuncState.ContainsKey(funcID) && featureNoticeModel.DicOpenFuncState[funcID].State == 1 &&
-               featureNoticeModel.DicOpenFuncState[funcID].AwardState == 0)
-            {           
-                m_UIEffect1.Play();
-            }
-            else
-            {                
-                m_UIEffect1.Stop();
-            }
+
+
             if (featureNoticeModel.DicOpenFuncState.ContainsKey(funcID) && featureNoticeModel.DicOpenFuncState[funcID].State == 1 && featureNoticeModel.DicOpenFuncState[funcID].AwardState == 1)
             {
                 m_HasReceived1.SetActive(true);
@@ -192,65 +104,6 @@
             else
             {
                 m_HasReceived1.SetActive(false);
-            }
-        }
-        private void SetItem2(List<Item> List, int funcID)
-        {
-            var itemConfig = ItemConfig.Get(List[1].id);
-            UIHelper.SetItemBackGround(m_ItemBG2, itemConfig.ItemColor, itemConfig.QualityEchoType);
-            m_Icon2.SetSprite(itemConfig.IconKey);
-            m_IconBtn2.SetListener(() =>
-            {
-                if (featureNoticeModel.DicOpenFuncState.ContainsKey(funcID) && featureNoticeModel.DicOpenFuncState[funcID].State == 1 &&
-               featureNoticeModel.DicOpenFuncState[funcID].AwardState == 0)
-                {
-                    featureNoticeModel.SendGetAward(funcID);
-                  // DebugEx.LogError("鍙互棰嗗彇");
-                }
-                else
-                {
-                    ItemTipUtility.Show(List[1].id);
-                    //DebugEx.LogError("寮规");
-                }
-            });
-            if (List[1].count > 1)
-            {
-                m_Number2.SetActive(true);
-                m_Number2.text = List[1].count.ToString();
-            }
-            else
-            {
-                m_Number2.SetActive(false);
-            }
-
-            if (FuncOpen.Instance.IsFuncOpen(funcID))
-            {
-                m_ItemBG2.gray = false;
-                m_Icon2.gray = false;
-                m_Lock2.gray = false;
-            }
-            else
-            {
-                m_ItemBG2.gray = true;
-                m_Icon2.gray = true;
-                m_Lock2.gray = true;
-            }
-            if (featureNoticeModel.DicOpenFuncState.ContainsKey(funcID) && featureNoticeModel.DicOpenFuncState[funcID].State == 1 &&
-              featureNoticeModel.DicOpenFuncState[funcID].AwardState == 0)
-            {              
-                m_UIEffect2.Play();
-            }
-            else
-            {           
-                m_UIEffect2.Stop();
-            }
-            if (featureNoticeModel.DicOpenFuncState.ContainsKey(funcID) && featureNoticeModel.DicOpenFuncState[funcID].State == 1 && featureNoticeModel.DicOpenFuncState[funcID].AwardState == 1)
-            {
-                m_HasReceived2.SetActive(true);
-            }
-            else
-            {
-                m_HasReceived2.SetActive(false);
             }
         }
     }

--
Gitblit v1.8.0