From 1ffebec3376d225a8b791f27594e51d3237f9b85 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 04 二月 2026 14:59:26 +0800
Subject: [PATCH] 125 战斗相关开关设置

---
 Main/Component/UI/Core/ToggleEx.cs |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/Main/Component/UI/Core/ToggleEx.cs b/Main/Component/UI/Core/ToggleEx.cs
index 824d223..a713576 100644
--- a/Main/Component/UI/Core/ToggleEx.cs
+++ b/Main/Component/UI/Core/ToggleEx.cs
@@ -12,9 +12,39 @@
         set { this.m_Audio = value; }
     }
 
+    public GameObject activates;
+
+    public GameObject deactivates;
+
     protected override void OnEnable()
     {
         base.OnEnable();
+        onValueChanged.AddListener(CustomChanged);
+    }
+
+    protected override void OnDisable()
+    {
+        base.OnDisable();
+        onValueChanged.RemoveListener(CustomChanged);
+    }
+
+    protected void CustomChanged(bool isOn)
+    {
+        // 浣跨敤 CanvasGroup 鎺у埗鏄鹃殣锛岄伩鍏� SetActive 瑙﹀彂 Canvas 閲嶅缓
+        if (activates != null)
+        {
+            var canvasGroup = activates.AddMissingComponent<CanvasGroup>();
+            canvasGroup.alpha = isOn ? 1f : 0f;
+            canvasGroup.interactable = isOn;
+            canvasGroup.blocksRaycasts = isOn;
+        }
+        if (deactivates != null)
+        {
+            var canvasGroup = deactivates.AddMissingComponent<CanvasGroup>();
+            canvasGroup.alpha = isOn ? 0f : 1f;
+            canvasGroup.interactable = !isOn;
+            canvasGroup.blocksRaycasts = !isOn;
+        }
     }
 
     public override void OnPointerClick(PointerEventData eventData)

--
Gitblit v1.8.0