Esempio n. 1
0
        public void CloseOrSetInactive()
        {
            if (Application.isPlaying && EditorApplication.isPaused && pausedByMonkey)
            {
                EditorApplication.isPaused = false;
            }

            if (isDockedInfo == null)
            {
                GetIsDockedInfo();
            }

            if (IsDocked)
            {
                isActiveMode = false;
                ResetSearchTerms();
                Repaint();
                GUI.UnfocusWindow();
                //TODO replace with a better alternative
                //    EditorUtility.FocusProjectWindow();
            }
            else
            {
                Close();
                CurrentPanel = null;
                OnConsoleClosed?.Invoke();
            }
        }
Esempio n. 2
0
        private IEnumerator ProcessOpen(bool status, float targetPosition)
        {
            _opened = status;
            PlayerInput.AllInputBlocked = status;
            _targetPosition             = status ? targetPosition : _closedWindowPosition;
            yield return(null);

            if (_opened)
            {
                OnConsoleOpened?.Invoke();
                _commandInput.ActivateInputField();
            }
            else
            {
                OnConsoleClosed?.Invoke();
                _commandInput.DeactivateInputField();
            }
            var min        = _tf.anchorMin;
            var max        = _tf.anchorMax;
            var lerpHolder = new LerpHolder();

            lerpHolder.RestartLerp(min.y, _targetPosition, _positionLerpTime, true);
            while (!lerpHolder.IsFinished)
            {
                min.y         = lerpHolder.GetLerpValue();
                max.y         = min.y + 1;
                _tf.anchorMin = min;
                _tf.anchorMax = max;
                yield return(null);
            }
        }