Unity自定义Editor

实现根据不同类型,在检视面板中展示不同的参数。

实体类:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class CustomTest :MonoBehaviour {

    public enum TestMode
    {
        first,
        second,
        third
    }

    public TestMode myMode;

    public GameObject ObjectA;
    public GameObject ObjectB;
    public GameObject ObjectC;

}

自定义编辑器类:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(CustomTest))]
public class CustomTestEditor : Editor {

    public override void OnInspectorGUI()
    {
        CustomTest test = (CustomTest) target;
        test.myMode = (CustomTest.TestMode) EditorGUILayout.EnumPopup("MyMode", test.myMode);
        EditorGUILayout.Space();

        switch (test.myMode)
        {
            case CustomTest.TestMode.first:
                test.ObjectA = (GameObject) EditorGUILayout.ObjectField("A",test.ObjectA,typeof(GameObject),true);
                break;
            case CustomTest.TestMode.second:
                test.ObjectB = (GameObject)EditorGUILayout.ObjectField("B", test.ObjectB, typeof(GameObject), true);
                break;
            case CustomTest.TestMode.third:
                test.ObjectC = (GameObject)EditorGUILayout.ObjectField("C", test.ObjectC, typeof(GameObject), true);
                break;
            default:
                break;
        }
    }
}

效果如下:

Paste_Image.png
Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,578评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,338评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,229评论 6 342
  • 我把想对你说的话告诉给了风 当她从你的耳旁轻轻飘过 我满怀期待的看着你的表情 你笑,我心海翻涌 你不笑,我满脸愁容...
    南乔旧友阅读 339评论 4 3
  • 受启发于公号PHOTORYS,每天给陌生人写一首诗。拍了一些照片,写了一些感悟,做成了一张张图。 想用看到的一句话...
    一枚文案阅读 525评论 0 0

友情链接更多精彩内容