using UnityEditor;
using UnityEngine;


namespace Thousandto.DIY
{
    [CustomEditor(typeof(UISprite), true)]
    public class CustomUISpriteEditor : UISpriteInspector
    {
        public override void OnInspectorGUI()
        {
            ModifyFormScript.Instance.CustomComponentInspector((Component)target);
            base.OnInspectorGUI();
        }
    }

    [CustomEditor(typeof(UILabel), true)]
    public class CustomUILabelEditor : UILabelInspector
    {
        public override void OnInspectorGUI()
        {
            ModifyFormScript.Instance.CustomComponentInspector((Component)target);
            base.OnInspectorGUI();
        }
    }

    [CustomEditor(typeof(UIWidget), true)]
    public class CustomUIWidgetEditor : UIWidgetInspector
    {
        public override void OnInspectorGUI()
        {
            ModifyFormScript.Instance.CustomComponentInspector((Component)target);
            base.OnInspectorGUI();
        }
    }

    [CustomEditor(typeof(UIScrollView), true)]
    public class CustomUIScrollViewEditor : UIScrollViewEditor
    {
        public override void OnInspectorGUI()
        {
            ModifyFormScript.Instance.CustomComponentInspector((Component)target);
            base.OnInspectorGUI();
        }
    }

    [CustomEditor(typeof(UIProgressBar), true)]
    public class CustomUIProgressBarEditor : UIProgressBarEditor
    {
        public override void OnInspectorGUI()
        {
            ModifyFormScript.Instance.CustomComponentInspector((Component)target);
            base.OnInspectorGUI();
        }
    }

    [CustomEditor(typeof(UIToggle), true)]
    public class CustomUIToggleEditor : UIToggleInspector
    {
        public override void OnInspectorGUI()
        {
            ModifyFormScript.Instance.CustomComponentInspector((Component)target);
            base.OnInspectorGUI();
        }
    }

    [CustomEditor(typeof(UIGrid), true)]
    public class CustomUIGridEditor : UIGridEditor
    {
        public override void OnInspectorGUI()
        {
            ModifyFormScript.Instance.CustomComponentInspector((Component)target);
            base.OnInspectorGUI();
        }
    }

    [CustomEditor(typeof(UIInput), true)]
    public class CustomUIInputEditor : UIInputEditor
    {
        public override void OnInspectorGUI()
        {
            ModifyFormScript.Instance.CustomComponentInspector((Component)target);
            base.OnInspectorGUI();
        }
    }

    [CustomEditor(typeof(UIPanel), true)]
    public class CustomUIPanelEditor : UIPanelInspector
    {
        protected override bool ShouldDrawProperties()
        {
            ModifyFormScript.Instance.CustomComponentInspector((Component)target);
            return base.ShouldDrawProperties();
        }
    }
	
	[CustomEditor(typeof(UITexture), true)]
    public class CustomUITextureEditor : UITextureInspector
    {
        public override void OnInspectorGUI()
        {
            ModifyFormScript.Instance.CustomComponentInspector((Component)target);
            base.OnInspectorGUI();
        }
    }

    [CustomEditor(typeof(UISlider), true)]
    public class CustomUISliderEditor : UISliderEditor
    {
        public override void OnInspectorGUI()
        {
            ModifyFormScript.Instance.CustomComponentInspector((Component)target);
            base.OnInspectorGUI();
        }
    }

    [CustomEditor(typeof(UITable), true)]
    public class CustomUITableEditor : UnityEditor.Editor
    {
        public override void OnInspectorGUI()
        {
            ModifyFormScript.Instance.CustomComponentInspector((Component)target);
            base.OnInspectorGUI();
        }
    }
}