protected override void OnHeaderGUI() { if (ScriptAsset == null || drawHeaderMethod == null) { return; } var headerRect = (Rect)drawHeaderMethod.Invoke(null, new object[] { this, ScriptAsset.name + (ScriptView.ScriptModified ? "*" : string.Empty) }); using (new EditorGUI.DisabledScope(!ScriptView.ScriptModified)) { var applyButtonRect = new Rect(new Vector2(headerRect.xMax - 98, headerRect.yMax - 26), new Vector2(48, 25)); if (GUI.Button(applyButtonRect, "Apply", EditorStyles.miniButton)) { GUI.FocusControl(null); ApplyAndImportChecked(); } var revertButtonRect = new Rect(new Vector2(headerRect.xMax - 150, headerRect.yMax - 26), new Vector2(50, 25)); if (GUI.Button(revertButtonRect, "Revert", EditorStyles.miniButton)) { GUI.FocusControl(null); ResetValues(); if (ScriptAsset && VisualEditor != null) { VisualEditor.GenerateForScript(scriptText, ScriptAsset, true); } } } }
private void HandleScriptModified(string assetPath) { var curPath = AssetDatabase.GetAssetPath(ScriptAsset); if (curPath != assetPath) { return; } ScriptAsset = AssetDatabase.LoadAssetAtPath <Script>(assetPath); scriptText = File.ReadAllText(AssetDatabase.GetAssetPath(ScriptAsset)); VisualEditor.GenerateForScript(scriptText, ScriptAsset); }