private void ShowFieldInfo(System.Type type, MonoImporter importer, List <string> names, List <UnityEngine.Object> objects, ref bool didModify)
{
if (IsTypeCompatible(type))
{
this.ShowFieldInfo(type.BaseType, importer, names, objects, ref didModify);
foreach (System.Reflection.FieldInfo info in type.GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly))
{
if (!info.IsPublic)
{
object[] customAttributes = info.GetCustomAttributes(typeof(SerializeField), true);
if ((customAttributes == null) || (customAttributes.Length == 0))
{
continue;
}
}
if (info.FieldType.IsSubclassOf(typeof(UnityEngine.Object)) || (info.FieldType == typeof(UnityEngine.Object)))
{
UnityEngine.Object defaultReference = importer.GetDefaultReference(info.Name);
UnityEngine.Object item = EditorGUILayout.ObjectField(ObjectNames.NicifyVariableName(info.Name), defaultReference, info.FieldType, false, new GUILayoutOption[0]);
names.Add(info.Name);
objects.Add(item);
if (defaultReference != item)
{
didModify = true;
}
}
}
}
}