自定义Inspector面板

using UnityEditor;
using UnityEngine; public enum MyType {
Dev,
Master
} public class TestCode : MonoBehaviour {
public string testStr;
public bool isTest;
public MyType myType;
public float testNum;
} [CustomEditor(typeof(TestCode))]
public class TestCodeHelp : Editor
{
public override void OnInspectorGUI() {
serializedObject.Update(); //此处映射上面的字段
EditorGUILayout.PropertyField(serializedObject.FindProperty("testStr"), new GUIContent("测试字符串"));
EditorGUILayout.PropertyField(serializedObject.FindProperty("isTest"), new GUIContent("是否测试"));
EditorGUILayout.PropertyField(serializedObject.FindProperty("myType"), new GUIContent("类型"));
EditorGUILayout.PropertyField(serializedObject.FindProperty("testNum"), new GUIContent("数字")); //绘制按钮
if (GUILayout.Button("Step1: Play Scene"))
{
Debug.Log("test === ");
} //让面板上面的值可以修改
serializedObject.ApplyModifiedProperties();
}
}
使用 override 的话,面板里面的都会被重置掉,如果只是补充,可以通过调用 base.OnInspectorGUI() 来保留本身的样式,后面再添加自定义的样式即可
自定义Inspector面板的更多相关文章
- Unity 自定义Inspector面板时的数据持久化问题
自定义Inspector面板的步骤: Unity内创建自定义的Inspector需要在Asset的任意文件夹下创建一个名字是Editor的文件夹,随后这个文件夹内的cs文件就会被放在vstu生成的Ed ...
- 自定义Inspector检视面板
Unity中的Inspector面板可以显示的属性包括以下两类:(1)C#以及Unity提供的基础类型:(2)自定义类型,并使用[System.Serializable]关键字序列化,比如: [Sys ...
- 让Unity的Inspector面板支持字符限制(restrict)功能
今天在优化红点组件,笔者打算将红点id由10进制改为16进制处理,就打算将红点id字段由uint类型改成string类型,用于填写16进制的字符(因为在Inspector面板里,uint/int类型字 ...
- 使用反射功能在Unity运行状态通过Inspector面板修改字段和调用方法
使用反射功能在Unity运行状态通过Inspector面板修改字段和调用方法 效果展示 一个很简单的组件脚本 运行状态在Inspector面板可以随便修改字段和调用方法 方法调用日志 设计由来 最近在 ...
- Unity3d Inspector面板实现set/get访问器
简单说一下属性和字段的区别:字段就是成员变量,而属性确实提供给外部访问内部成员变量的接口.之所以会有属性的出现,就是为了避免外部对类的成员的直接访问,通俗的说就是OOP中的封装思想. using Un ...
- Unity编辑器环境在Inspector面板中显示变量
Serialize功能Unity3D 中提供了非常方便的功能可以帮助用户将 成员变量 在Inspector中显示,并且定义Serialize关系. 简单的说,在没有自定义Inspector的情况下所有 ...
- U3D自定义Inspector项未触发保存事件的解决方案
1.问题描述与解决方案 1.1.说明 应该只有起步做U3D编辑器插件的部分同行需要了解本文. 该问题源于在做UI插件的时候,发现Inspector面板上手动修改值后,没有触发U3D编辑器本身的修改事件 ...
- Unity编辑器重写Inspector面板,面板中编辑的数据不触发场景发生变化的问题。
今天开始协助主程一起制作新框架.主程让我写关于新版UI框架注册UI预制体用的快捷编辑器. 现学现写,总算完成了. 可以直接把选中的预制体添加到UIController的数组中,期间涉及到改变大小.所以 ...
- Unity3D:Text在Inspector面板中中无法显示,需转换成UTF-8格式
环境:Win10 读取text内容后unity报错:Input string was not in the correct format 同时在Inspector面板中无法预览Text文本内容 随后发 ...
- [Unity] Unity3D研究院编辑器之自定义默认资源的Inspector面板
比如编辑模式下对场景或者特定文件夹有一些操作可以在这个面板里来完成.. 代码如下. using UnityEngine; using System.Collections; using UnityEd ...
随机推荐
- 免费纯真IP地址数据库的解析
纯真(CZ88.NET)自2005年起一直为广大社区用户提供社区版IP地址库,只要获得纯真的授权就能免费使用,并不断获取后续更新的版本.如果有需要免费版IP库的朋友可以前往纯真的官网进行申请. 纯真除 ...
- Vue最新面试攻略
@charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...
- RPC实战与核心原理之异步RPC
异步RPC:压榨单机吞吐量 如何提升单机吞吐量 提升吞吐量,其实关键就两个字:"异步",提高CPU等资源的利用率 调用端如何异步 异步,最常用的方式就是返回 Future 对象的 ...
- VNCTF-Misc
VNCTF-Misc VN_Lang 直接IDApro打开,shift+F12检索字符串 Echo Flowers echo_flowers.ovf文件,可以使用vmware挂载 有个imToken, ...
- 必看!手把手教你玩转Dify的3大核心工具!
Dify 中的工具是指其平台内置或支持集成的功能插件,用于扩展 AI 应用的能力. 1.工具作用 扩展 LLM 的能力:工具可以赋予 LLM 连接外部世界的能力,例如联网搜索.科学计算.绘制图片等.例 ...
- HDE演讲---RN应用的鸿蒙化适配经验分享
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...
- CF1928G Vlad and Trouble at MIT
CF1928G Vlad and Trouble at MIT Vlad and Trouble at MIT Problem MIT的学生宿舍可以用一棵有\(n\)个顶点的树来表示,每个顶点代表一个 ...
- Re:prime 关于质数的算法
Re:prime 关于质数的所有算法 绪言 所有代码若无说明,均采用快读模板 关于质数,无非就两大类: 判断一个数字是不是质数 找出[1,n]中所有的质数 先讲1: Judge 判断x是不是质数 根据 ...
- 基于 A2A 协议的 LlamaIndex 文件聊天工作流
本示例展示了一个使用 LlamaIndex Workflows 构建并通过 A2A 协议公开的对话代理.它展示了文件上传和解析.支持多轮对话的对话交互.流式响应/更新以及内联引用. 源代码 a2a l ...
- 深入剖析开源AI阅读器项目Saga Reader基于大模型的文本转换与富文本渲染优化方案
引言 AI阅读器作为一种新型的内容消费工具,正在改变人们获取和处理信息的方式.本文将介绍Saga Reader项目中如何利用大型语言模型(LLM)进行网页内容抓取.智能优化和富文本渲染,特别是如何通过 ...