UnityEditor.MonoScriptImporterInspector.IsTypeCompatible C# (CSharp) Method

IsTypeCompatible() private static method

private static IsTypeCompatible ( Type type ) : bool
type System.Type
return bool
        private static bool IsTypeCompatible(Type type)
        {
            if ((type == null) || (!type.IsSubclassOf(typeof(MonoBehaviour)) && !type.IsSubclassOf(typeof(ScriptableObject))))
            {
                return false;
            }
            return true;
        }

Usage Example

        public override void OnInspectorGUI()
        {
            MonoImporter monoImporter = this.target as MonoImporter;
            MonoScript   script       = monoImporter.GetScript();

            if (script)
            {
                Type @class = script.GetClass();
                if (!MonoScriptImporterInspector.IsTypeCompatible(@class))
                {
                    EditorGUILayout.HelpBox("No MonoBehaviour scripts in the file, or their names do not match the file name.", MessageType.Info);
                }
                Vector2 iconSize = EditorGUIUtility.GetIconSize();
                EditorGUIUtility.SetIconSize(new Vector2(16f, 16f));
                List <string>             list  = new List <string>();
                List <UnityEngine.Object> list2 = new List <UnityEngine.Object>();
                bool flag = false;
                this.ShowFieldInfo(@class, monoImporter, list, list2, ref flag);
                EditorGUIUtility.SetIconSize(iconSize);
                if (flag)
                {
                    monoImporter.SetDefaultReferences(list.ToArray(), list2.ToArray());
                    AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath(monoImporter));
                }
            }
        }
All Usage Examples Of UnityEditor.MonoScriptImporterInspector::IsTypeCompatible