diff --git a/Runtime/UXComponent/UX/UXButton.cs b/Runtime/UXComponent/UX/UXButton.cs index b2706d4..562224d 100644 --- a/Runtime/UXComponent/UX/UXButton.cs +++ b/Runtime/UXComponent/UX/UXButton.cs @@ -113,32 +113,42 @@ public class UXButton : UIBehaviour, IButton, #region Unity Lifecycle + protected override void Awake() + { + base.Awake(); + Initlize(); + } #if UNITY_EDITOR protected override void OnValidate() { base.OnValidate(); if (!Application.isPlaying) { - _boardEvent = true; - _waitTimeFadeDuration = new WaitForSeconds( - Mathf.Max(0.01f, m_TransitionData.colors.fadeDuration)); - _animTriggerIDs.Clear(); - _animResetTriggerIDs.Clear(); - var triggers = m_TransitionData.animationTriggers; - AddTriggerID(triggers.normalTrigger); - AddTriggerID(triggers.highlightedTrigger); - AddTriggerID(triggers.pressedTrigger); - AddTriggerID(triggers.selectedTrigger); - AddTriggerID(triggers.disabledTrigger); - - - UpdateVisualState(m_SelectionState, true); + Initlize(); } } #endif // if UNITY_EDITOR + protected void Initlize() + { + _boardEvent = true; + _waitTimeFadeDuration = new WaitForSeconds( + Mathf.Max(0.01f, m_TransitionData.colors.fadeDuration)); + _animTriggerIDs.Clear(); + _animResetTriggerIDs.Clear(); + var triggers = m_TransitionData.animationTriggers; + AddTriggerID(triggers.normalTrigger); + AddTriggerID(triggers.highlightedTrigger); + AddTriggerID(triggers.pressedTrigger); + AddTriggerID(triggers.selectedTrigger); + AddTriggerID(triggers.disabledTrigger); + + + UpdateVisualState(m_SelectionState, true); + } + protected override void OnDestroy() { if (_resetRoutine != null)