一、
简单一点的方法,给类方法添加 [ContextMenu("")] 标记,添加完成后,在Inspector面板的该脚本组件下,右键弹出菜单,可在编辑器环境调用该方法
public class InspectorEditorTest : MonoBehaviour
{
[SerializeField] string outPutStr;
//在Inspector面板的该脚本组件, 添加该方法到右键菜单, 在编辑器环境调用该方法
[ContextMenu("My Func", false)]
public void TestFunc()
{
Debug.Log("test string : " + outPutStr);
}
}
二、
通过Editor扩展Inspector面板,在面板值直接显示调用按钮,点击按钮执行方法
using UnityEngine;
using UnityEditor;
//扩展InspectorEditorTest类在Inspector面板的显示内容
[CustomEditor(typeof(InspectorEditorTest))]
public class InspectorEditor : Editor
{
//重写OnInspectorGUI类(刷新Inspector面板)
public override void OnInspectorGUI()
{
//继承基类方法
base.OnInspectorGUI();
//获取要执行方法的类
InspectorEditorTest targetScript = (InspectorEditorTest)target;
//绘制Button
if (GUILayout.Button("My Func"))
{
//执行方法
targetScript.TestFunc();
}
}
}
public class InspectorEditorTest : MonoBehaviour
{
[SerializeField] string outPutStr;
在Inspector面板的该脚本组件, 添加该方法到右键菜单, 在编辑器环境调用该方法
//[ContextMenu("My Func", false)]
public void TestFunc()
{
Debug.Log("test string : " + outPutStr);
}
}