public override void OnEnable() { base.OnEnable(); if (m_initialized) { return; } if (!m_updateStartValuesRequired) //on the first interaction update the start values so that the reset method works as intended { UpdateStartValues(); m_updateStartValuesRequired = true; } OnClick.Invoke(this, false, false, false, true, true, true); }
private IEnumerator ExecuteToggleBehaviorEnumerator(UIToggleBehavior behavior) { if (!behavior.Enabled) { yield break; } if (!m_updateStartValuesRequired) //on the first interaction update the start values so that the reset method works as intended { UpdateStartValues(); m_updateStartValuesRequired = true; } // ReSharper disable once SwitchStatementMissingSomeCases switch (behavior.BehaviorType) { case UIToggleBehaviorType.OnClick: case UIToggleBehaviorType.OnPointerEnter: case UIToggleBehaviorType.OnPointerExit: if (!Interactable || UIInteractionsDisabled) { yield break; } break; } behavior.Invoke(this); NotifySystemOfTriggeredBehavior(IsOn ? UIToggleState.On : UIToggleState.Off, behavior.BehaviorType); // ReSharper disable once SwitchStatementMissingSomeCases switch (behavior.BehaviorType) { case UIToggleBehaviorType.OnClick: if (DeselectButtonAfterClick) { if (DebugComponent) { DDebug.Log("(" + name + ") - [" + (IsOn ? UIToggleState.On : UIToggleState.Off) + "]" + behavior.BehaviorType + " - Deselect Button.", this); } DeselectToggle(); } break; case UIToggleBehaviorType.OnPointerEnter: if (behavior.SelectButton) { if (DebugComponent) { DDebug.Log("(" + name + ") - [" + (IsOn ? UIToggleState.On : UIToggleState.Off) + "]" + behavior.BehaviorType + " - Select Button.", this); } SelectToggle(); } break; case UIToggleBehaviorType.OnPointerExit: if (behavior.DeselectButton) { if (DebugComponent) { DDebug.Log("(" + name + ") - [" + (IsOn ? UIToggleState.On : UIToggleState.Off) + "]" + behavior.BehaviorType + " - Deselect Button.", this); } DeselectToggle(); } break; } }