当前位置: 首页 > news >正文

Unity 自定义编辑器根据枚举值显示变量

public class Test : MonoBehaviour
{[HideInInspector][Header("数量")][SerializeField]public int num;[Header("分布类型")][SerializeField]public DistributionType distType;[HideInInspector][Header("位置")][SerializeField]public List<Vector3> positions;
}public enum DistributionType
{None,test1,test2,test3,
}
[CustomEditor(typeof(Test))]
public class TestEditor : Editor {public SerializedObject obj;public SerializedProperty distType;public SerializedProperty positions;public SerializedProperty num;void OnEnable(){obj = new SerializedObject(target);distType = obj.FindProperty("distType");num = obj.FindProperty("num");positions = obj.FindProperty("positions");}public override void OnInspectorGUI(){//base.OnInspectorGUI();obj.Update();if (distType.enumValueIndex == 0){EditorGUILayout.PropertyField(positions, true);}else{EditorGUILayout.PropertyField(num);}obj.ApplyModifiedProperties();}
}

在数据类中(文中是Test类)数组类的字段在开启基类的base.OnInspectorGUI();不能用[HideInInspector],否则会无法显示数组内容。

参考链接:

Unity 自定义inspector界面如何显示数组_360问答 (so.com)

Unity根据条件控制Inspector面板中的属性显示_unity inspect 条件控制-CSDN博客

http://www.lryc.cn/news/358707.html

相关文章:

  • linux下 搭建Llama3
  • 【蓝桥杯——物联网设计与开发】拓展模块2 - 电位器模块
  • Jtti:租用的php服务器运行异常是什么原因导致的?
  • 恒创科技:无法与服务器建立安全连接怎么解决?
  • 【面试】介绍一下HotSpot虚拟机
  • 【测试】linux快捷指令工具cxtool
  • css属性值的计算过程
  • 看到大厂工时爆料,我沉默了。。
  • 最大回撤概念与计算
  • K8s Ingress 详解
  • 大模型的崛起与未来展望
  • 让WSL内核使用BBR拥塞控制算法
  • 小程序内的分包与数据共享
  • WordPress子比主题美化-首页动态的图片展示
  • jsp实验19 File
  • 【OpenVINO™】在C#中使用 OpenVINO™ 部署 YOLOv10 模型实现目标
  • RabbitMQ 如何保证消息不丢失
  • 【技术突破】合合信息新品震动业界,TextIn智能抽取,是不是藏了黑科技?
  • Transformer模型学习(1)
  • TinTinLand Web3 + AI 共学月|五周上手,捕获浪潮碰撞下的无限机遇
  • 渗透课程第二阶段--Part1--信息收集
  • ubuntu22 搭建nginx高可用集群(VIP(keepalived) + 负载均衡)
  • QT 编译Lua 动态库,使用Lua脚本混合编程
  • 关于不均衡数据的探究
  • LwIP 之十 详解 TCP RAW 编程、示例、API 源码、数据流
  • 【京东评论】数据源——Python提升获取效率▼
  • Java大厂面试题第2季
  • 探索无限可能性——微软 Visio 2021 改变您的思维方式
  • Linux CFS调度器之周期性调度器scheduler_tick函数
  • git生成密钥(免密)