예제 #1
0
        public override void Hide(BaseWindow t, Action <AbstractGoTween> onComplete)
        {
            t.CachedTransform.localPosition = _finishVector3;

            _hideConfig.onCompleteHandler = onComplete;

            Go.to(t.CachedTransform, AlphaOutDuration, _hideConfig);
            Go.to(t, HideTransitionTime, _hidePanelConfig);
        }
예제 #2
0
        public override void Show(BaseWindow t, Action <AbstractGoTween> onComplete)
        {
            t.CachedTransform.localPosition = _startVector3;
            t.CachedTransform.localScale    = _downscaled;

            _showConfig.onCompleteHandler = onComplete;
            Go.to(t.CachedTransform, AlphaInDuration, _showConfig);
            Go.to(t, ShowTransitionTime, _showPanelConfig);
        }
예제 #3
0
        public void ShowWindow(string windowName, UnityEngine.Object data = null)
        {
            Debug.Log("Show window: " + windowName);
            if (!_inWindowShow)
            {
                _inWindowShow = true;

                if (_windowMap.ContainsKey(windowName))
                {
                    var newWindow = _windowMap[windowName];

                    if (CurrentWindow != null)
                    {
                        if (CurrentWindow.Id != windowName)
                        {
                            var previous = CurrentWindow;

                            HideWindow(previous.Id, () =>
                            {
                                newWindow.Active = true;
                                newWindow.OnInit();

                                _selectedTransition.Show(newWindow, tween =>
                                {
                                    CurrentWindow = newWindow;
                                    newWindow.OnFocused();

                                    _inWindowShow = false;

                                    OnCurrentWindowChange?.Invoke(CurrentWindow);
                                });
                            });
                        }
                        else
                        {
                            _inWindowShow = false;
                        }
                    }
                    else
                    {
                        newWindow.Active = true;
                        newWindow.OnInit();

                        _selectedTransition.Show(newWindow, tween =>
                        {
                            CurrentWindow = newWindow;
                            newWindow.OnFocused();

                            _inWindowShow = false;

                            OnCurrentWindowChange?.Invoke(CurrentWindow);
                        });
                    }
                }
            }
        }
예제 #4
0
        public void HideWindow(string windowName, Action onComplete = null)
        {
            if (!_inWindowHide)
            {
                _inWindowHide = true;

                if (_windowMap.ContainsKey(windowName))
                {
                    var window = _windowMap[windowName];
                    _selectedTransition.Hide(window, tween =>
                    {
                        CurrentWindow = null;
                        onComplete?.Invoke();
                        window.Alpha = 0;
                        window.OnUnfocused();

                        _inWindowHide = false;
                    });
                }
            }
        }
예제 #5
0
 public abstract void Hide(BaseWindow t, Action <AbstractGoTween> onComplete);
예제 #6
0
 public abstract void Hide(BaseWindow t, Action onComplete);
예제 #7
0
 public abstract void Show(BaseWindow t, Action onComplete);
예제 #8
0
 public override void Hide(BaseWindow t, Action onComplete)
 {
     Debug.Log("Not implemented");
 }