From ed98029a88cd89702980ac7c40b711afddc5aeb2 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 20 十一月 2025 14:44:59 +0800
Subject: [PATCH] Merge branch 'master' of http://mobile.secondworld.net.cn:10010/r/Project_SG_scripts

---
 Main/Component/UI/Common/UIFuncOpen.cs |  124 +++++++++++++++++++++--------------------
 1 files changed, 63 insertions(+), 61 deletions(-)

diff --git a/Main/Component/UI/Common/UIFuncOpen.cs b/Main/Component/UI/Common/UIFuncOpen.cs
index c4c0ce6..358bbc8 100644
--- a/Main/Component/UI/Common/UIFuncOpen.cs
+++ b/Main/Component/UI/Common/UIFuncOpen.cs
@@ -8,86 +8,88 @@
 using System;
 using UnityEngine.EventSystems;
 
-    public class UIFuncOpen : MonoBehaviour, IPointerClickHandler
+public class UIFuncOpen : MonoBehaviour, IPointerClickHandler
+{
+    [SerializeField] int funcOpenKey;
+    [SerializeField] GameObject LockImg;
+    [SerializeField] bool active = true;
+    public int id { get { return funcOpenKey; } }
+
+    private Button funcBtn;
+
+    private void Awake()
     {
-        [SerializeField] int funcOpenKey;
-        [SerializeField] GameObject LockImg;
-        [SerializeField] bool active = true;
-        public int id { get { return funcOpenKey; } }
+        funcBtn = GetComponent<Button>();
 
-        private Button funcBtn;
+        FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
+    }
 
-        private void Awake()
+    public void OnPointerClick(PointerEventData eventData)
+    {
+        if (!FuncOpen.Instance.IsFuncOpen(funcOpenKey))
         {
-            funcBtn = GetComponent<Button>();
-
-            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
+            FuncOpen.Instance.ProcessorFuncErrorTip(funcOpenKey);
+            return;
         }
+    }
 
-        public void OnPointerClick(PointerEventData eventData)
-        {
-            if (!FuncOpen.Instance.IsFuncOpen(funcOpenKey))
-            {
-                FuncOpen.Instance.ProcessorFuncErrorTip(funcOpenKey);
-                return;
-            }
-        }
+    private void OnEnable()
+    {
+        SetState();
+    }
 
-        private void OnEnable()
+    private void OnFuncStateChangeEvent(int func)
+    {
+        if (funcOpenKey == func)
         {
             SetState();
         }
+    }
 
-        private void OnFuncStateChangeEvent(int func)
+    private void OnDestroy()
+    {
+        FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
+    }
+    private void SetState()
+    {
+        var IsOpen = FuncOpen.Instance.IsFuncOpen(funcOpenKey);
+        var _funcOpenCfg = FuncOpenLVConfig.Get(funcOpenKey);
+
+        if (_funcOpenCfg == null)
         {
-            if (funcOpenKey == func)
-            {
-                SetState();
-            }
+            IsOpen = true;
+            active = true;
         }
 
-        private void OnDestroy()
+        if (funcBtn != null)
         {
-            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
+            // 绂佺敤鎸夐挳鐨勭偣鍑讳簨浠讹紝浣嗕笉鏀瑰彉閫忔槑搴�
+            funcBtn.enabled = IsOpen;
         }
-        private void SetState()
+        
+        
+        if (LockImg != null)
         {
-            var IsOpen = FuncOpen.Instance.IsFuncOpen(funcOpenKey);
-            var _funcOpenCfg = FuncOpenLVConfig.Get(funcOpenKey);
+            LockImg.SetActive(!IsOpen);
+        }
 
-            if (_funcOpenCfg == null)
-            {
-                IsOpen = true;
-                active = true;
-            }
+        // 鏈紑鍚槸鍚︽樉绀虹殑閰嶇疆
+        // if (_funcOpenCfg != null && _funcOpenCfg.open == 0)
+        // {
+        //     gameObject.SetActive(false);
+        //     return;
+        // }
 
-            if (funcBtn != null)
+        if (!active)
+        {
+            gameObject.SetActive(IsOpen);
+        }
+        else
+        {
+            if (!gameObject.activeSelf)
             {
-                funcBtn.interactable = IsOpen;
-            }
-            
-           
-            if (LockImg != null)
-            {
-                LockImg.SetActive(!IsOpen);
-            }
-
-            if (_funcOpenCfg != null && _funcOpenCfg.open == 0)
-            {
-                gameObject.SetActive(false);
-                return;
-            }
-
-            if (!active)
-            {
-                gameObject.SetActive(IsOpen);
-            }
-            else
-            {
-                if (!gameObject.activeSelf)
-                {
-                    gameObject.SetActive(true);
-                }
+                gameObject.SetActive(true);
             }
         }
-    }
\ No newline at end of file
+    }
+}
\ No newline at end of file

--
Gitblit v1.8.0