Utils/Runtime/DefaultMonoBehaviourEditor.cs
Alexander Filippov fe555652c3 First commit
2021-06-27 14:46:18 +02:00

34 lines
890 B
C#

#if UNITY_EDITOR
using UnityEditor;
using UnityEngine;
namespace Agoxandr.Utils
{
[CustomEditor(typeof(MonoBehaviour), true)]
public class DefaultMonoBehaviourEditor : Editor
{
private bool hideScriptField;
private void OnEnable()
{
hideScriptField = target.GetType().GetCustomAttributes(typeof(HideScriptField), false).Length > 0;
}
public override void OnInspectorGUI()
{
if (hideScriptField)
{
serializedObject.Update();
EditorGUI.BeginChangeCheck();
DrawPropertiesExcluding(serializedObject, "m_Script");
if (EditorGUI.EndChangeCheck())
serializedObject.ApplyModifiedProperties();
}
else
{
base.OnInspectorGUI();
}
}
}
}
#endif