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); }
protected static bool HandleAutoOpen(WindowDockStyles style = WindowDockStyles.Inspector) { if (!IsValidSelection()) { return(false); } EnsureWindow(style).Load(Selection.activeObject as T1); return(true); }
public static void OpenWith(T1 target, WindowDockStyles style = WindowDockStyles.Inspector) => EnsureWindow(style).Load(target);