unity自定义inspector面板(选择不同枚举类型,inspector面板出现不同信息)
2017-08-25 09:16
1066 查看
废话不多说,先上效果图:
,简单的来说也就是代码枚举几种类型,我选择A,就出现A的相关数据,选择B就出现B的相关数据,如果不做这种效果,inspector面板就会有很多东西,太乱。好了,下面开始教如何制作这个种效果的:
先新建一个C#脚本,脚本名称随便你,我这里用test1.cs,相关内容如下:
这个脚本非常简单,就是枚举类型,public出2个公有变量,如果只是这样,我们inspector面板是这样的:
这肯定不能达到我们的要求,接下来在Project面板里新建一个文件夹,命名为Editor,在这个文件夹下新建一个脚本,名字随便,我这里用NewBehaviourScript1.cs,脚本内容如下:
脚本相对简单,就不解释了,这个脚本不需要挂载在物体上,现在点击刚刚的枚举类型,是不是可以出现想要的效果了!!!!O(∩_∩)O~
如果有什么错误,欢迎提出来,不喜勿喷!!!
,简单的来说也就是代码枚举几种类型,我选择A,就出现A的相关数据,选择B就出现B的相关数据,如果不做这种效果,inspector面板就会有很多东西,太乱。好了,下面开始教如何制作这个种效果的:
先新建一个C#脚本,脚本名称随便你,我这里用test1.cs,相关内容如下:
using UnityEngine; using System.Collections; public class test1 : MonoBehaviour { public enum type1 { a, b } public type1 m_type; public int a_int; public int b_int; }
这个脚本非常简单,就是枚举类型,public出2个公有变量,如果只是这样,我们inspector面板是这样的:
这肯定不能达到我们的要求,接下来在Project面板里新建一个文件夹,命名为Editor,在这个文件夹下新建一个脚本,名字随便,我这里用NewBehaviourScript1.cs,脚本内容如下:
using UnityEngine; using UnityEditor; [CustomEditor(typeof(test1))]//关联之前的脚本 public class NewBehaviourScript1 : Editor { private SerializedObject test;//序列化 private SerializedProperty m_type,a_int, b_int;//定义类型,变量a,变量b void OnEnable() { test = new SerializedObject(target); m_type = test.FindProperty("m_type");//获取m_type a_int = test.FindProperty("a_int");//获取a_int b_int = test.FindProperty("b_int");//获取b_int } public override void OnInspectorGUI() { test.Update();//更新test EditorGUILayout.PropertyField(m_type); if (m_type.enumValueIndex == 0) {//当选择第一个枚举类型 EditorGUILayout.PropertyField(a_int); } else if (m_type.enumValueIndex == 1) { EditorGUILayout.PropertyField(b_int); } //serializedObject.ApplyModifiedProperties(); test.ApplyModifiedProperties();//应用 } }
脚本相对简单,就不解释了,这个脚本不需要挂载在物体上,现在点击刚刚的枚举类型,是不是可以出现想要的效果了!!!!O(∩_∩)O~
如果有什么错误,欢迎提出来,不喜勿喷!!!
相关文章推荐
- unity 选择不同的枚举在面板上显示不同的属性
- Unity 编辑器 Inspector面板枚举
- Unity CustomEditor 自定义编辑脚本Inspector面板
- Unity Editor 基础篇(二):自定义 Inspector 面板
- Unity里Inspector面板自定义学习——Custom Data,序列化一个类,自定义 property drawer
- Unity CustomEditor 自定义编辑脚本Inspector面板
- MaterialPropertyDrawer自定义Unity材质Inspector之关键字枚举(KeywordEnum)
- [Unity] Unity3D研究院编辑器之自定义默认资源的Inspector面板
- Unity拓展Inspector面板之添加自定义Button
- Unity 自定义Inspector面板 样式
- Unity菜单编程-自定义的图片Inspector面板
- mysql如何选择合适的数据类型存储不同的数据
- java fastjson如何自定义转换含枚举类型对象(编程技巧)
- 自定义类型:结构体,枚举,联合
- Visual Studio 设置:包括根据不同类型的开发活动对集成开发环境 (IDE) 所做的各种自定义设置
- 技术-筛选器选择不同时间类型(日、月、周)报表展示不同时间类型
- 自定义数据类型--联合体、枚举、结构体
- 让Unity的Inspector面板支持字符限制(restrict)功能
- 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。
- C# 获取枚举类型中所有描述信息