public static SubWindow CreateSubWindow(System.Object container, bool defaultOpen, SubWindowStyle style, System.Type customDrawerType) { if (customDrawerType == null) { return(null); } if (subWindowClass == null) { GetSubWinodwStyleClasses(); } else if (!subWindowClass.ContainsKey(style)) { GetSubWinodwStyleClasses(); } if (subWindowClass == null || !subWindowClass.ContainsKey(style)) { return(null); } System.Type type = subWindowClass[style]; SubWindowCustomDrawer drawer = (SubWindowCustomDrawer)System.Activator.CreateInstance(customDrawerType); if (drawer == null) { return(null); } drawer.SetContainer(container); return((SubWindow)System.Activator.CreateInstance(type, defaultOpen, drawer)); }
public SubWindowObjectDrawer(SubWindowCustomDrawer drawer) { this.m_ObjDrawer = drawer; if (m_ObjDrawer == null) { return; } string id = GetID(false); if (EditorPrefsEx.HasKey(id)) { var obj = EditorPrefsEx.GetObject(id, drawer.GetType()); if (obj != null) { drawer = (SubWindowCustomDrawer)obj; drawer.SetContainer(this.m_ObjDrawer.Container); this.m_ObjDrawer = drawer; } } }