Ejemplo n.º 1
0
        public static void Window(GUIContent title, int order, Object target, WindowDisplayOption option, Action <SceneView> onGUICallback)
        {
            if (Event.current.type != EventType.Layout)
            {
                return;
            }

            foreach (OverlayWindow currentWindow in windows)
            {
                if (option == WindowDisplayOption.OneWindowPerTarget && currentWindow.Target == target && target != null)
                {
                    return;
                }
            }

            OverlayWindow overlayWindow = new OverlayWindow(title, order, target, option, onGUICallback)
            {
                SecondaryOrder = windows.Count,
                CanCollapse    = false
            };

            windows.Add(overlayWindow);
        }
Ejemplo n.º 2
0
        // pass window parameter to render in sceneviews that are not the active view.
        public static void Window(GUIContent title, WindowFunction sceneViewFunc, int order, Object target, WindowDisplayOption option, EditorWindow window = null)
        {
            if (Event.current.type != EventType.Layout)
            {
                return;
            }

            foreach (OverlayWindow overlayWindow in m_Windows)
            {
                if (option == WindowDisplayOption.OneWindowPerTarget && overlayWindow.m_Target == target && target != null)
                {
                    return;
                }

                if (option == WindowDisplayOption.OneWindowPerTitle && (overlayWindow.m_Title == title || overlayWindow.m_Title.text == title.text))
                {
                    return;
                }
            }

            OverlayWindow newWindow = new OverlayWindow();

            newWindow.m_Title          = title;
            newWindow.m_SceneViewFunc  = sceneViewFunc;
            newWindow.m_PrimaryOrder   = order;
            newWindow.m_SecondaryOrder = m_Windows.Count; // just use a value that is unique across overlays
            newWindow.m_Target         = target;
            newWindow.m_EditorWindow   = window;

            m_Windows.Add(newWindow);
        }
Ejemplo n.º 3
0
 public static void Window(GUIContent title, WindowFunction sceneViewFunc, int order, WindowDisplayOption option)
 {
     Window(title, sceneViewFunc, order, null, option);
 }
Ejemplo n.º 4
0
        // pass window parameter to render in sceneviews that are not the active view.
        public static void Window(GUIContent title, WindowFunction sceneViewFunc, int order, Object target, WindowDisplayOption option, EditorWindow window = null)
        {
            if (Event.current.type != EventType.Layout)
            {
                return;
            }

            foreach (var overlayWindow in s_Windows)
            {
                if (option == WindowDisplayOption.OneWindowPerTarget && overlayWindow.target == target && target != null)
                {
                    return;
                }

                if (option == WindowDisplayOption.OneWindowPerTitle && (overlayWindow.title == title || overlayWindow.title.text == title.text))
                {
                    return;
                }
            }

            var newWindow = new OverlayWindow(title, sceneViewFunc, order, target, option)
            {
                secondaryOrder = s_Windows.Count,
                canCollapse    = false
            };


            s_Windows.Add(newWindow);
        }
Ejemplo n.º 5
0
        // pass window parameter to render in sceneviews that are not the active view.
        public static void Window(GUIContent title, WindowFunction sceneViewFunc, int order, Object target, WindowDisplayOption option, EditorWindow window = null)
        {
            if (Event.current.type != EventType.Layout)
            {
                return;
            }

            ShowWindow(new OverlayWindow(title, sceneViewFunc, order, target, option));
        }
Ejemplo n.º 6
0
 public static void Window(GUIContent title, WindowFunction sceneViewFunc, int order, Object target, WindowDisplayOption option)
 {
     if (Event.current.type == EventType.Layout)
     {
         foreach (OverlayWindow window in m_Windows)
         {
             if ((((option == WindowDisplayOption.OneWindowPerTarget) && (window.m_Target == target)) && (target != null)) || ((option == WindowDisplayOption.OneWindowPerTitle) && ((window.m_Title == title) || (window.m_Title.text == title.text))))
             {
                 return;
             }
         }
         OverlayWindow item = new OverlayWindow {
             m_Title          = title,
             m_SceneViewFunc  = sceneViewFunc,
             m_PrimaryOrder   = order,
             m_SecondaryOrder = m_Windows.Count,
             m_Target         = target
         };
         m_Windows.Add(item);
     }
 }