Example #1
0
        protected static T EnsureWindow(WindowDockStyles dockStyle = WindowDockStyles.Docked, int width = 600, int height = 400)
        {
            if (_instance == null)
            {
                switch (dockStyle)
                {
                case WindowDockStyles.DontChange:
                    _instance = GetWindow <T>();
                    break;

                case WindowDockStyles.Floating:
                    _instance          = GetWindow <T>(true);
                    _instance.position = new Rect(Screen.currentResolution.width / 2 - (width / 2), Screen.currentResolution.height / 2 - (height / 2), width, height);
                    break;

                case WindowDockStyles.Inspector:
                    _instance = GetWindow <T>(typeof(EditorWindow).Assembly.GetType("UnityEditor.InspectorWindow"));
                    break;

                default:
                case WindowDockStyles.Docked:
                    _instance = GetWindow <T>(typeof(SceneView));
                    break;
                }
                if (_instance != null)
                {
                    _instance.titleContent = new GUIContent(instance.GetWindowTitle());
                    _instance.Repaint();
                }
            }
            return(_instance);
        }
Example #2
0
        protected static bool HandleAutoOpen(WindowDockStyles style = WindowDockStyles.Inspector)
        {
            if (!IsValidSelection())
            {
                return(false);
            }

            EnsureWindow(style).Load(Selection.activeObject as T1);
            return(true);
        }
Example #3
0
 public static void OpenWith(T1 target, WindowDockStyles style = WindowDockStyles.Inspector) => EnsureWindow(style).Load(target);