UnityEditor.SerializedObject.UpdateIfDirtyOrScript C# (CSharp) Method

UpdateIfDirtyOrScript() private method

private UpdateIfDirtyOrScript ( ) : void
return void
        public extern void UpdateIfDirtyOrScript();

Usage Example

示例#1
0
    private static void ProcessManagerAttributes()
    {
        var types = new string[] { ".cs", ".js" };

        var allScriptPaths = Directory.GetFiles("Assets", "*.*", SearchOption.AllDirectories)
                             .Where(s => types.Any(x => s.EndsWith(x, System.StringComparison.CurrentCultureIgnoreCase)))
                             .ToArray();

        instance.m_attributes.Clear();

        for (int i = 0; i < allScriptPaths.Length; ++i)
        {
            UnityEditor.MonoScript script = UnityEditor.AssetDatabase.LoadAssetAtPath(allScriptPaths[i], typeof(UnityEditor.MonoScript)) as UnityEditor.MonoScript;
            if (!script || script.GetClass() == null)
            {
                continue;
            }
            if (!typeof(Manager).IsAssignableFrom(script.GetClass()))
            {
                continue;
            }

            var type = script.GetClass();
            instance.m_attributes[type] = new ManagerAttributes(type);
        }

        instance.hideFlags = HideFlags.NotEditable;
        UnityEditor.EditorUtility.SetDirty(instance);
        var so = new UnityEditor.SerializedObject(instance);

        so.UpdateIfDirtyOrScript();
        UnityEditor.AssetDatabase.SaveAssets();
    }
All Usage Examples Of UnityEditor.SerializedObject::UpdateIfDirtyOrScript