protected void OnDestroy()
 {
     PFilterListCenter.closeWindows -= CloseWindow;
     PFilterListCenter.Stop();
     PPaintCenter.ClientRepaints -= Repaint;
     _window = null;
 }
 internal static void OpenWindow(FilterContent[] contents)
 {
     _window              = GetWindow <FilterWindow>(true);
     _window.maxSize      = new Vector2(400, 500);
     _window.titleContent = new GUIContent("Search");
     PFilterListCenter.Start(contents);
 }
 public override void OnOpen()
 {
     base.OnOpen();
     PFilterListCenter.closeWindows -= CloseWindow;
     PFilterListCenter.closeWindows += CloseWindow;
     PFilterListCenter.Start(_contents);
     _window = editorWindow;
     PPaintCenter.ClientRepaints -= _window.Repaint;
     PPaintCenter.ClientRepaints += _window.Repaint;
 }
 public override void OnClose()
 {
     if (_window)
     {
         PPaintCenter.ClientRepaints -= _window.Repaint;
     }
     PFilterListCenter.closeWindows -= CloseWindow;
     base.OnClose();
     PFilterListCenter.Stop();
     _current = null;
 }
 protected void OnGUI()
 {
     PFilterListCenter.OnGUI(position, focusedWindow == this);
 }
 public override void OnGUI(Rect rect)
 {
     PFilterListCenter.OnGUI(rect, true);
 }