Example #1
0
        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);
        }
Example #2
0
        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;
            }
        }