| | |
| | | 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) |