diff --git a/Runtime/UGUIExtension/UX/UXButton.cs b/Runtime/UGUIExtension/UX/UXButton.cs index d5f4be0..2e9d061 100644 --- a/Runtime/UGUIExtension/UX/UXButton.cs +++ b/Runtime/UGUIExtension/UX/UXButton.cs @@ -189,10 +189,13 @@ public class UXButton : UIBehaviour, IPointerDownHandler, IPointerUpHandler, IPo return m_Mode == ButtonModeType.Toggle && m_IsTogSelected; } - public void SetSelect(bool state) + public void SetSelect(bool state, bool boardEvent = false) { if (m_Mode != ButtonModeType.Toggle) return; - IsSelected = state; + m_IsTogSelected = state; + if (boardEvent) onValueChanged?.Invoke(m_IsTogSelected); + m_SelectionState = m_IsTogSelected ? SelectionState.Selected : SelectionState.Normal; + UpdateVisualState(m_SelectionState, false); } private void ProcessClick()