UnityEditor.MonoScriptImporterInspector.ShowFieldInfo C# (CSharp) Method

ShowFieldInfo() private method

private ShowFieldInfo ( Type type, MonoImporter importer, List names, List objects, bool &didModify ) : void
type System.Type
importer MonoImporter
names List
objects List
didModify bool
return void
        private void ShowFieldInfo(Type type, MonoImporter importer, List<string> names, List<Object> objects, ref bool didModify)
        {
            if (IsTypeCompatible(type))
            {
                this.ShowFieldInfo(type.BaseType, importer, names, objects, ref didModify);
                FieldInfo[] fields = type.GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly);
                foreach (FieldInfo info in fields)
                {
                    if (!info.IsPublic)
                    {
                        object[] customAttributes = info.GetCustomAttributes(typeof(SerializeField), true);
                        if ((customAttributes == null) || (customAttributes.Length == 0))
                        {
                            continue;
                        }
                    }
                    if (info.FieldType.IsSubclassOf(typeof(Object)) || (info.FieldType == typeof(Object)))
                    {
                        Object defaultReference = importer.GetDefaultReference(info.Name);
                        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;
                        }
                    }
                }
            }
        }
    }