美文网首页UnityEditor
编辑器扩展(inspector扩展)--小白第一次写

编辑器扩展(inspector扩展)--小白第一次写

作者: UnityChan | 来源:发表于2019-06-01 11:00 被阅读49次

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

    相关文章

      网友评论

        本文标题:编辑器扩展(inspector扩展)--小白第一次写

        本文链接:https://www.haomeiwen.com/subject/xapotctx.html