将编辑器控件的所有更改保存到资源的导入设置对象中。
可以根据需要重载。在应用设置更改时调用。
using UnityEngine; using UnityEditor; using UnityEditor.Experimental.AssetImporters;
public class ExampleScript : AssetImporterEditor { public void OnInspectorGUI() { // Add custom gui controls here...
ApplyRevertGUI(); }
protected override bool OnApplyRevertGUI() { using (new EditorGUI.DisabledScope(!HasModified())) { bool applied; using (new EditorGUI.DisabledScope(!HasModified())) { RevertButton(); applied = ApplyButton("Apply X"); }
bool upgrade = upgradeMaterials; GUIContent genButtonText = HasModified() || upgrade ? Styles.ApplyAndGenerate : Styles.Regenerate;
if (GUILayout.Button(genButtonText)) { bool hasModified = HasModified();
// Apply the changes and generate the materials before importing so that asset previews are up-to-date. if (hasModified) Apply();
if (upgrade) { foreach (var importer in importers) importer.SetMaterialVersionToCurrent(); }
GenerateMaterials();
if (hasModified || upgrade) { ApplyAndImport(); applied = true; } } return applied; } } }