bool 如果新设置应用成功,则返回 true。
处理“Apply”和“Revert”按钮。
ApplyRevertGUI 调用它来放置和处理“Apply”和“Revert”按钮。
using UnityEngine; using UnityEditor; using UnityEditor.Experimental.AssetImporters;
public class ExampleScript : MonoBehaviour { public override void OnInspectorGUI() { // Add custom gui controls here...
ApplyRevertGUI(); }
protected virtual 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; } } }