Esempio n. 1
0
        /// <summary>
        /// Force the window to update arcording to its current state
        /// </summary>
        /// <param name="instant">Should the state change be instant</param>
        /// <param name="ignoreState">Should the change ignore the state and display the window as active and in focus</param>
        public virtual void StateTransition(bool instant, bool ignoreState)
        {
            if (!_windowInteractable && !ignoreState)
            {
                switch (_transitionState)
                {
                case TransitionStates.Colors:
                    _targetGraphics.CrossFadeColor(_colors.disabledColor, instant ? 0f : _colors.fadeDuration, true, true);
                    break;

                case TransitionStates.Sprites:
                    _targetGraphics.overrideSprite = _sprites.disabledSprite;
                    break;

                case TransitionStates.Both:
                    _targetGraphics.CrossFadeColor(_colors.disabledColor, instant ? 0f : _colors.fadeDuration, true, true);
                    _targetGraphics.overrideSprite = _sprites.disabledSprite;
                    break;

                default:
                    _targetGraphics.CrossFadeColor(_colors.disabledColor, instant ? 0f : _colors.fadeDuration, true, true);
                    break;
                }
            }
            else if (ignoreState || isFocused)
            {
                switch (_transitionState)
                {
                case TransitionStates.Colors:
                    _targetGraphics.CrossFadeColor(_colors.focusedColor, instant ? 0f : _colors.fadeDuration, true, true);
                    break;

                case TransitionStates.Sprites:
                    _targetGraphics.overrideSprite = _sprites.focusedSprite;
                    break;

                case TransitionStates.Both:
                    _targetGraphics.CrossFadeColor(_colors.focusedColor, instant ? 0f : _colors.fadeDuration, true, true);
                    _targetGraphics.overrideSprite = _sprites.focusedSprite;
                    break;

                default:
                    _targetGraphics.CrossFadeColor(_colors.focusedColor, instant ? 0f : _colors.fadeDuration, true, true);
                    break;
                }
            }
            else
            {
                switch (_transitionState)
                {
                case TransitionStates.Colors:
                    _targetGraphics.CrossFadeColor(_colors.unFocusedColor, instant ? 0f : _colors.fadeDuration, true, true);
                    break;

                case TransitionStates.Sprites:
                    _targetGraphics.overrideSprite = _sprites.unFocusedSprite;
                    break;

                case TransitionStates.Both:
                    _targetGraphics.CrossFadeColor(_colors.unFocusedColor, instant ? 0f : _colors.fadeDuration, true, true);
                    _targetGraphics.overrideSprite = _sprites.unFocusedSprite;
                    break;

                default:
                    _targetGraphics.CrossFadeColor(_colors.unFocusedColor, instant ? 0f : _colors.fadeDuration, true, true);
                    break;
                }
            }
        }