编辑器扩展(inspector扩展)--小白第一次写
2019-06-01 本文已影响49人
UnityChan
编辑器扩展-扩展inspector
在我们日常开发中,经常会遇到测试环节,我们就会在update里面写类似于if(input....)然后测试某个函数的功能,现在可以这个样子来做
这是一个常规的类
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TestBBB : MonoBehaviour {
public void TestA()
{
Debug.Log("JP");
}
public void TestB()
{
Debug.Log("LP");
}
}
当场景中有物体贴上了这个脚本,那么inspecter面板上是这样显示的
222.png
我们想测试TestA
和TestB
方法的时候只能通过在update函数里面写鼠标或者键盘的检测方法,这样做比较麻烦,并且项目里面需要用到键盘的需求特别多(键盘按键日常不够用....)。因此我们可以扩展编辑器
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(TestBBB))]
public class TestBBB_Editor : Editor {
TestBBB _target;
private void OnEnable()
{
_target = target as TestBBB;
}
public override void OnInspectorGUI()
{
EditorGUILayout.Space();
if (GUILayout.Button("TestA"))
{
_target.TestA();
}
EditorGUILayout.LabelField("-------------------------------------------------");
EditorGUILayout.Space();
if (GUILayout.Button("TestB"))
{
_target.TestB();
}
EditorGUILayout.Space();
}
}
这样的话inspector面板上面就变成了这个样子,点击这两个按钮就可以直接调用函数啦~
111.png