适用对象:需要在Editor状态下编辑一些参数之类的东东
using UnityEngine;
using System.Collections;
using UnityEditor;
//typeof中的参数即为我们需要定义Inspector面板的组件(脚本)
[CustomEditor(typeof(DemoTestScript))]
public class TestCustomEditor : Editor
{
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
//增加一个按钮
if (GUILayout.Button("Test Button"))
{
//可以直接访问DemoTestScript类的内容
Debug.Log("Error");
}
}
}
当然,我们同样可以访问到 DemoTestScript 中需要的东西
using UnityEngine;
using System.Collections;
using UnityEditor;
//typeof中的参数即为我们需要定义Inspector面板的组件(脚本)
[CustomEditor(typeof(DemoTestScript))]
public class TestCustomEditor : Editor
{
DemoTestScript script;
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
//将target转化为我们需要的脚本
script = target as DemoTestScript;
//增加一个按钮
if (GUILayout.Button("Test Button"))
{
//可以直接访问DemoTestScript类的内容
script.Test();
}
}
}
using UnityEngine;
using System.Collections;
using UnityEditor;
public class DemoTestScript : MonoBehaviour {
public void Test()
{
Debug.Log("Error");
}
}
Over 。。。