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/FunctionForecastTip.cs |   74 +++++++++----------------------------
 1 files changed, 18 insertions(+), 56 deletions(-)

diff --git a/System/MainInterfacePanel/FunctionForecastTip.cs b/System/MainInterfacePanel/FunctionForecastTip.cs
index 9cf6fcd..78d79cb 100644
--- a/System/MainInterfacePanel/FunctionForecastTip.cs
+++ b/System/MainInterfacePanel/FunctionForecastTip.cs
@@ -15,20 +15,17 @@
 
     public class FunctionForecastTip : MonoBehaviour
     {
-        public static int OpenTag = 0;
         [SerializeField] Transform _FunctionForecastPanel;//鍒囨崲闈㈡澘 
         [SerializeField] Image _FunctionIcon;//鍥炬爣Icon
         [SerializeField] Button _FunctionIconBtn;//闈㈡澘寮�鍏虫寜閽�
         [SerializeField] Text _NameText;//鏍囬鍚�
-        [SerializeField] Text _Information;//淇℃伅鍐呭
-        [SerializeField] Text m_Information_reward;//鏈夊鍔卞彲棰嗗彇
+        //[SerializeField] Text _Information;//淇℃伅鍐呭
+        //[SerializeField] Text m_Information_reward;//鏈夊鍔卞彲棰嗗彇
         public static Action<int> FunctionOpenTagEvent;
         FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel<FeatureNoticeModel>(); } }
-        RealmModel realmModel { get { return ModelCenter.Instance.GetModel<RealmModel>(); } }
 
         public void Init()//鍒濆鍖�
         {
-            PlayerDatas.Instance.playerDataRefreshEvent += OnPlayersUpLV;
             FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
             DataAssignment();
         }
@@ -38,13 +35,13 @@
         public void Unit()
         {
             FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
-            PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayersUpLV;
         }
 
 
         private void Start()
         {
             _FunctionIconBtn.AddListener(FunctionIconBtn);
+            _NameText.text = Language.Get("SecondWindowTitle_27");
         }
 
         private void OnFuncStateChangeEvent(int obj)
@@ -56,77 +53,42 @@
             }
         }
 
-        private void OnPlayersUpLV(PlayerDataType _type)
-        {
-            if (_type == PlayerDataType.LV)
-            {
-                DataAssignment();
-            }
-        }
-        List<FunctionForecastConfig> configs = new List<FunctionForecastConfig>();
+        
         void DataAssignment()
         {
-            if (FuncOpen.Instance.IsFuncOpen(OpenTag))
+            if (PlayerDatas.Instance.baseData.LV <= featureNoticeModel.ShowLV)
             {
                 _FunctionForecastPanel.SetActive(false);
+                return;
             }
-            if (configs.Count <= 0)
+
+            foreach (var config in featureNoticeModel.FunctionList)
             {
-                configs= FunctionForecastConfig.GetValues();
-            }
-          //  var configs = FunctionForecastConfig.GetValues();
-            foreach (var config in configs)
-            {
-                if (!FuncOpen.Instance.IsFuncOpen(config.FuncId)
-                    && PlayerDatas.Instance.baseData.LV >= config.OpenLevel && config.Display == 1)
+                if (!FuncOpen.Instance.IsFuncOpen(config.FuncId))
                 {
-                    OpenTag = config.FuncId;
-                    if (FunctionOpenTagEvent != null)
-                    {
-                        FunctionOpenTagEvent(OpenTag);
-                    }
-                    OpenPanel(OpenTag);
-                    return;
+                    OpenPanel(config.FuncId);
+                    break;
                 }
             }
             bool IsOpen = false;
-            foreach (var _key in featureNoticeModel.DicOpenFuncState.Keys)
+            foreach (var config in featureNoticeModel.FunctionList)
             {
-                if (featureNoticeModel.DicRedPoint.ContainsKey(_key) && featureNoticeModel.DicOpenFuncState[_key].State == 1
-                && featureNoticeModel.DicOpenFuncState[_key].AwardState == 0 && featureNoticeModel.DicAwardItem.ContainsKey(_key))
+                if (!featureNoticeModel.DicOpenFuncState.ContainsKey(config.FuncId) || featureNoticeModel.DicOpenFuncState[config.FuncId].State == 0 ||
+                     featureNoticeModel.DicOpenFuncState[config.FuncId].AwardState == 0)
                 {
                     IsOpen = true;
+                    break;
                 }
             }
-            if (IsOpen)//棰勫憡瀹屾瘯杩樻湁濂栧姳鑳介鍙�
-            {
-                _FunctionForecastPanel.SetActive(true);
-                _FunctionIcon.SetSprite("PersonBossIcon");
-                m_Information_reward.SetActive(false);
-                _NameText.SetActive(true);
-                //_NameText.text = Language.Get("Z1043"); 
-                _NameText.text = Language.Get("SecondWindowTitle_27");
-                _Information.SetActive(false);
-            }
-            else
-            {
-                _FunctionForecastPanel.SetActive(false);
-            }
+            _FunctionForecastPanel.SetActive(IsOpen);
            
             return;
         }
 
         void OpenPanel(int ID)
         {
-            _FunctionForecastPanel.SetActive(true);
-            m_Information_reward.SetActive(false);
-            _NameText.SetActive(true);
-            _Information.SetActive(false);
-            _FunctionIcon.SetSprite(FunctionForecastConfig.Get(ID).FuncIconKey);
-            //_NameText.text = FunctionForecastConfig.Get(ID).Describe;
-            _NameText.text = Language.Get("SecondWindowTitle_27");
-            _Information.text= FunctionForecastConfig.Get(ID).OpenDescribe;
-
+            _FunctionIcon.SetSprite(FuncOpenLVConfig.Get(ID).Icon);
+            //_NameText.text = Language.Get("SecondWindowTitle_27");
         }
 
 

--
Gitblit v1.8.0