# 【自定义脚本编辑器】
有时候需要定制指定C#文件的编辑器界面,以下是一个示例:
比如有个 ScriptA.cs 文件,该文件有个 fieldA 的属性值。
该示例可以给这个ScriptA的编辑器界面添加一个按钮,按下后随机给fieldA一个值。
Assets/Editor/ScriptAEditor.cs
using System;
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(ScriptA))]
public class ScriptAEditor : Editor
{
SerializedProperty fieldAProp;
private void OnEnable()
{
fieldAProp = serializedObject.FindProperty("fieldA");
}
public override void OnInspectorGUI()
{
serializedObject.Update();
DrawDefaultInspector();
GUILayout.Space(10);
if(GUILayout.Button("设置一个随机值"))
{
fieldAProp.stringValue = UnityEngine.Random.value + "";
}
serializedObject.ApplyModifiedProperties();
}
}