yyl
2026-02-04 1ffebec3376d225a8b791f27594e51d3237f9b85
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)