Ejemplo n.º 1
0
        private void DoApplyWindow(IWindow window, bool isUnique, bool overlap)
        {
            _isUnique = isUnique;

            window.CloseWindowEvent   += OnCloseWindow;
            window.DestroyWindowEvent += OnDestroyWindow;

            window.Canvas.sortingOrder = StartCanvasSortingOrder + _openedWindows.Count;

            var overlappedWindow = _openedWindows.LastOrDefault();

            _openedWindows.Add(window);

            if (window.IsActive())
            {
                Debug.LogError("Window must be inactive in initial time.");
            }
            else if (!window.IsActiveOrActivated())
            {
                window.Activate();
            }

            if (overlap && overlappedWindow != null && overlappedWindow.IsActiveOrActivated())
            {
                overlappedWindow.Deactivate();
            }

            WindowOpenedEvent?.Invoke(window);
        }
Ejemplo n.º 2
0
 protected virtual void OnWindowOpenedEvent(object sender, WindowEventArgs args)
 {
     WindowOpenedEvent?.Invoke(sender, args);
 }