UnityEditor

编辑器扩展(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

我们想测试TestATestB方法的时候只能通过在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
上一篇下一篇

猜你喜欢

热点阅读