From c8d3e3bc65d9d1021c41b07fbbedd0c6afeb2b8c Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 10 六月 2025 23:57:22 +0800
Subject: [PATCH] 0312 版本号统一显示格式;表格重复加载;去除登录界面音乐;隐私界面调整;界面存在动画才增加根节点,无动画时默认组件可交互,点击空关闭mask的层级问题

---
 Main/Component/UI/Common/FuncOpen.cs |  230 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 115 insertions(+), 115 deletions(-)

diff --git a/Main/Component/UI/Common/FuncOpen.cs b/Main/Component/UI/Common/FuncOpen.cs
index fca027a..f5276a3 100644
--- a/Main/Component/UI/Common/FuncOpen.cs
+++ b/Main/Component/UI/Common/FuncOpen.cs
@@ -4,7 +4,6 @@
 using UnityEngine;
 using LitJson;
 
-    //  TODO YYL
     public class FuncOpen
     {
         private static FuncOpen _inst = null;
@@ -20,51 +19,51 @@
 
         protected FuncOpen()
         {
-            // if (Application.isEditor)
-            // {
-            //     if (!Application.isPlaying) return;
-            // }
+            if (Application.isEditor)
+            {
+                if (!Application.isPlaying) return;
+            }
 
-            // var allKeys = FuncOpenLVConfig.GetKeys();
-            // funcArray = new int[allKeys.Count];
-            // int _index = 0;
-            // foreach (var key in allKeys)
-            // {
-            //     int func = int.Parse(key);
-            //     funcOpenState[func] = false;
-            //     funcArray[_index] = func;
-            //     _index++;
-            // }
+            var allKeys = new List<int>(FuncOpenLVConfig.dic.Keys);//GetKeys();
+            funcArray = new int[allKeys.Count];
+            int _index = 0;
+            foreach (var key in allKeys)
+            {
+                int func = key;
+                funcOpenState[func] = false;
+                funcArray[_index] = func;
+                _index++;
+            }
 
-            // DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent;
-            // DTC0102_tagCDBPlayer.switchAccountEvent += SwitchAccountEvent;
+            DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent;
+            DTC0102_tagCDBPlayer.switchAccountEvent += SwitchAccountEvent;
 
-            // funcClientLVLimitDict.Clear();
-            // var jsonConfig = JsonMapper.ToObject(FuncConfigConfig.Get("FuncLevelLimitClient").Numerical1);
-            // foreach (var key in jsonConfig.Keys)
-            // {
-            //     funcClientLVLimitDict[int.Parse(key)] = int.Parse(jsonConfig[key].ToString());
-            // }
+            funcClientLVLimitDict.Clear();
+            var jsonConfig = JsonMapper.ToObject(FuncConfigConfig.Get("FuncLevelLimitClient").Numerical1);
+            foreach (var key in jsonConfig.Keys)
+            {
+                funcClientLVLimitDict[int.Parse(key)] = int.Parse(jsonConfig[key].ToString());
+            }
         }
 
         private void BeforePlayerDataInitializeEvent()
         {
-            // for (int i = 0; i < funcArray.Length; i++)
-            // {
-            //     funcOpenState[funcArray[i]] = false;
-            // }
+            for (int i = 0; i < funcArray.Length; i++)
+            {
+                funcOpenState[funcArray[i]] = false;
+            }
         }
 
         private void SwitchAccountEvent()
         {
-            // for (int i = 0; i < funcArray.Length; i++)
-            // {
-            //     funcOpenState[funcArray[i]] = false;
-            //     if (OnFuncStateChangeEvent != null)
-            //     {
-            //         OnFuncStateChangeEvent(funcArray[i]);
-            //     }
-            // }
+            for (int i = 0; i < funcArray.Length; i++)
+            {
+                funcOpenState[funcArray[i]] = false;
+                if (OnFuncStateChangeEvent != null)
+                {
+                    OnFuncStateChangeEvent(funcArray[i]);
+                }
+            }
         }
 
         // TaskModel m_TaskModel;
@@ -76,56 +75,56 @@
 
         //绾鎴风鐨勫姛鑳界瓑绾ч檺鍒�, key 浠ュ姛鑳介厤缃〃鐨凢uncLevelLimitClient涓哄噯
         //1. 绮惧僵娲诲姩-鍏ㄦ湇绾㈠寘鏄剧ず绛夌骇
-        // public Dictionary<int, int> funcClientLVLimitDict = new Dictionary<int, int>();
+        public Dictionary<int, int> funcClientLVLimitDict = new Dictionary<int, int>();
         public bool IsClientLVLimit(int key)
         {
-            // if (!funcClientLVLimitDict.ContainsKey(key))
-            //     return true;
+            if (!funcClientLVLimitDict.ContainsKey(key))
+                return true;
 
-            // if (PlayerDatas.Instance.baseData.LV >= funcClientLVLimitDict[key])
-            //     return true;
+            if (PlayerDatas.Instance.baseData.LV >= funcClientLVLimitDict[key])
+                return true;
 
             return false;
         }
 
 
-        public void UpdateFuncState(/*HA302_tagMCFuncOpenStateList vNetData*/)
+        public void UpdateFuncState(HA302_tagMCFuncOpenStateList vNetData)
         {
-            // for (int i = 0; i < vNetData.FuncCount; i++)
-            // {
+            for (int i = 0; i < vNetData.FuncCount; i++)
+            {
                 
-            //     var funcState = vNetData.FuncStateList[i];
+                var funcState = vNetData.FuncStateList[i];
 
-            //     bool bPerFuncIsOpen = false;
-            //     bool bAfterFuncIsOpen = false;
+                bool bPerFuncIsOpen = false;
+                bool bAfterFuncIsOpen = false;
 
-            //     if (!funcOpenState.ContainsKey(funcState.FuncID))
-            //     {
-            //         funcOpenState.Add(funcState.FuncID, funcState.State == 1);
-            //         bAfterFuncIsOpen = true;
-            //     }
-            //     else
-            //     {
-            //         bPerFuncIsOpen = funcOpenState[funcState.FuncID];
-            //         funcOpenState[funcState.FuncID] = funcState.State == 1;
-            //         bAfterFuncIsOpen = funcOpenState[funcState.FuncID];
-            //     }
-            //     if (OnFuncStateChangeEvent != null)
-            //     {
-            //         OnFuncStateChangeEvent(funcState.FuncID);
-            //     }
-            // }
+                if (!funcOpenState.ContainsKey(funcState.FuncID))
+                {
+                    funcOpenState.Add(funcState.FuncID, funcState.State == 1);
+                    bAfterFuncIsOpen = true;
+                }
+                else
+                {
+                    bPerFuncIsOpen = funcOpenState[funcState.FuncID];
+                    funcOpenState[funcState.FuncID] = funcState.State == 1;
+                    bAfterFuncIsOpen = funcOpenState[funcState.FuncID];
+                }
+                if (OnFuncStateChangeEvent != null)
+                {
+                    OnFuncStateChangeEvent(funcState.FuncID);
+                }
+            }
         }
 
         private bool IsFuncOpen(int key, out int errorCode)
         {
             
             errorCode = 0;
-            // var config = FuncOpenLVConfig.Get(key);
-            // if (config == null)
-            // {
-            //     return false;
-            // }
+            var config = FuncOpenLVConfig.Get(key);
+            if (config == null)
+            {
+                return false;
+            }
             // if (config.LimitMagicWeapon > 0)
             // {
             //     Treasure treasure = null;
@@ -152,64 +151,65 @@
             //     errorCode = 3;
             //     return false;
             // }
-            // if (config.LimitLV > 0 && PlayerDatas.Instance.baseData.LV < config.LimitLV)
-            // {
-            //     errorCode = 1;
-            //     return false;
-            // }
-            // return true;
-            return false;
+            if (config.LimitLV > 0 && PlayerDatas.Instance.baseData.LV < config.LimitLV)
+            {
+                errorCode = 1;
+                return false;
+            }
+            return true;
+            // return false;
         }
 
         public bool IsFuncOpen(int key, bool tip = false)
         {
             bool isOpen = false;
-            // if (funcOpenState.ContainsKey(key))
-            //     isOpen = funcOpenState[key];
-            // if (!isOpen && tip)
-            //     ProcessorFuncErrorTip(key);
+            if (funcOpenState.ContainsKey(key))
+                isOpen = funcOpenState[key];
+            if (!isOpen && tip)
+                ProcessorFuncErrorTip(key);
             return isOpen;
         }
 
         public void ProcessorFuncErrorTip(int key)
         {
-            // var config = FuncOpenLVConfig.Get(key);
-            // if (config != null)
-            // {
-            //     SoundPlayer.Instance.PlayUIAudio(SoundPlayer.defaultClickNegativeAudio);
-            //     if (config.Tip.Equals("FuncLimit_Level"))
-            //     {
-            //         SysNotifyMgr.Instance.ShowTip(config.Tip);
-            //         return;
-            //     }
-            //     var errorCode = 0;
-            //     if (!IsFuncOpen(key, out errorCode))
-            //     {
-            //         switch (errorCode)
-            //         {
-            //             case 1:
-            //                 SysNotifyMgr.Instance.ShowTip(config.Tip, Language.Get("OpenFunc4", config.LimitLV));
-            //                 break;
-            //             case 2:
-            //                 var treasureConfig = TreasureConfig.Get(config.LimitMagicWeapon / 100);
-            //                 SysNotifyMgr.Instance.ShowTip(config.Tip, Language.Get("OpenFunc1", treasureConfig != null ? treasureConfig.Name : string.Empty));
-            //                 break;
-            //             case 3:
-            //                 SysNotifyMgr.Instance.ShowTip(config.Tip, UIHelper.GetRealmName(config.LimiRealmLV, true));
-            //                 break;
-            //             case 4:
-            //                 if (config.LimitLV > 0)
-            //                 {
-            //                     SysNotifyMgr.Instance.ShowTip(config.Tip, Language.Get("OpenFunc2", config.LimitLV));
-            //                 }
-            //                 else
-            //                 {
-            //                     SysNotifyMgr.Instance.ShowTip(config.Tip, Language.Get("OpenFunc3"));
-            //                 }
-            //                 break;
-            //         }
-            //     }
-            // }
+            var config = FuncOpenLVConfig.Get(key);
+            if (config != null)
+            {
+                SoundPlayer.Instance.PlayUIAudio(SoundPlayer.defaultClickNegativeAudio);
+                if (config.Tip.Equals("FuncLimit_Level"))
+                {
+                    SysNotifyMgr.Instance.ShowTip(config.Tip);
+                    return;
+                }
+                var errorCode = 0;
+                if (!IsFuncOpen(key, out errorCode))
+                {
+                    switch (errorCode)
+                    {
+                        case 1:
+                            SysNotifyMgr.Instance.ShowTip(config.Tip, Language.Get("OpenFunc4", config.LimitLV));
+                            break;
+                        //  TODO YYL
+                        // case 2:
+                        //     var treasureConfig = TreasureConfig.Get(config.LimitMagicWeapon / 100);
+                        //     SysNotifyMgr.Instance.ShowTip(config.Tip, Language.Get("OpenFunc1", treasureConfig != null ? treasureConfig.Name : string.Empty));
+                        //     break;
+                        // case 3:
+                        //     SysNotifyMgr.Instance.ShowTip(config.Tip, UIHelper.GetRealmName(config.LimiRealmLV, true));
+                        //     break;
+                        case 4:
+                            if (config.LimitLV > 0)
+                            {
+                                SysNotifyMgr.Instance.ShowTip(config.Tip, Language.Get("OpenFunc2", config.LimitLV));
+                            }
+                            else
+                            {
+                                SysNotifyMgr.Instance.ShowTip(config.Tip, Language.Get("OpenFunc3"));
+                            }
+                            break;
+                    }
+                }
+            }
         }
 
         public int GetLimitLv(int key)

--
Gitblit v1.8.0