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; } } }
internal static string GetDrawerID(SubWindowCustomDrawer drawer, bool dynamic) { string result = null; if (drawer == null) { return(result); } result = "__CLASS__" + drawer.GetType().FullName; if (dynamic) { if (drawer.Title != null && !string.IsNullOrEmpty(drawer.Title.text)) { result += "." + drawer.GetHashCode(); } else { result += ".UnKnown"; } } return(result); }