private void OnEnable()
        {
            Owner = T_Target.Owner;

            OnEnable(T_Target.TargetObject);
            T_Target.onTargetObjectChanged = () =>
            {
                OnEnable(T_Target.TargetObject);
                Repaint();
            };

            void OnEnable(object _targetObject)
            {
                objectEditor = ObjectInspectorDrawer.CreateEditor(_targetObject, Owner, this);
                if (objectEditor != null)
                {
                    string title = objectEditor.GetTitle();
                    if (!string.IsNullOrEmpty(title))
                    {
                        target.name = title;
                    }
                    objectEditor.OnEnable();
                }
            }
        }
        public static ObjectInspectorDrawer CreateEditor(object _targetObject, object _owner, Editor _editor)
        {
            ObjectInspectorDrawer objectEditor = InternalCreateEditor(_targetObject);

            if (objectEditor == null)
            {
                return(null);
            }

            objectEditor.Init(_targetObject, _owner, _editor);
            return(objectEditor);
        }