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面板的更多相关文章

  1. Unity 自定义Inspector面板时的数据持久化问题

    自定义Inspector面板的步骤: Unity内创建自定义的Inspector需要在Asset的任意文件夹下创建一个名字是Editor的文件夹,随后这个文件夹内的cs文件就会被放在vstu生成的Ed ...

  2. 自定义Inspector检视面板

    Unity中的Inspector面板可以显示的属性包括以下两类:(1)C#以及Unity提供的基础类型:(2)自定义类型,并使用[System.Serializable]关键字序列化,比如: [Sys ...

  3. 让Unity的Inspector面板支持字符限制(restrict)功能

    今天在优化红点组件,笔者打算将红点id由10进制改为16进制处理,就打算将红点id字段由uint类型改成string类型,用于填写16进制的字符(因为在Inspector面板里,uint/int类型字 ...

  4. 使用反射功能在Unity运行状态通过Inspector面板修改字段和调用方法

    使用反射功能在Unity运行状态通过Inspector面板修改字段和调用方法 效果展示 一个很简单的组件脚本 运行状态在Inspector面板可以随便修改字段和调用方法 方法调用日志 设计由来 最近在 ...

  5. Unity3d Inspector面板实现set/get访问器

    简单说一下属性和字段的区别:字段就是成员变量,而属性确实提供给外部访问内部成员变量的接口.之所以会有属性的出现,就是为了避免外部对类的成员的直接访问,通俗的说就是OOP中的封装思想. using Un ...

  6. Unity编辑器环境在Inspector面板中显示变量

    Serialize功能Unity3D 中提供了非常方便的功能可以帮助用户将 成员变量 在Inspector中显示,并且定义Serialize关系. 简单的说,在没有自定义Inspector的情况下所有 ...

  7. U3D自定义Inspector项未触发保存事件的解决方案

    1.问题描述与解决方案 1.1.说明 应该只有起步做U3D编辑器插件的部分同行需要了解本文. 该问题源于在做UI插件的时候,发现Inspector面板上手动修改值后,没有触发U3D编辑器本身的修改事件 ...

  8. Unity编辑器重写Inspector面板,面板中编辑的数据不触发场景发生变化的问题。

    今天开始协助主程一起制作新框架.主程让我写关于新版UI框架注册UI预制体用的快捷编辑器. 现学现写,总算完成了. 可以直接把选中的预制体添加到UIController的数组中,期间涉及到改变大小.所以 ...

  9. Unity3D:Text在Inspector面板中中无法显示,需转换成UTF-8格式

    环境:Win10 读取text内容后unity报错:Input string was not in the correct format 同时在Inspector面板中无法预览Text文本内容 随后发 ...

  10. [Unity] Unity3D研究院编辑器之自定义默认资源的Inspector面板

    比如编辑模式下对场景或者特定文件夹有一些操作可以在这个面板里来完成.. 代码如下. using UnityEngine; using System.Collections; using UnityEd ...

随机推荐

  1. 【HUST】网安纳米|2023年研究生纳米技术考试参考

    目录 1 纳米材料是什么 2 纳米材料的结构特性 3 纳米结构的其他特性 4 纳米结构的检测技术 5 纳米材料的应用 打印建议:PPT彩印(这样重点比较突出),每面12张PPT,简单做一下关键词目录, ...

  2. JS如何实现远程控制:一步步教你掌握技术

    @charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...

  3. MFC单文档应用程序引入GDI+

    在MFC中引入GDI+,步骤如下: 1.在需要用到GDI+的文件中添加GDI+文件 1 #include <gdiplus.h> 2 using namespace Gdiplus; 2. ...

  4. C#之方法

    在C#中,方法是类的函数成员,方法由两个主要部分: (1)方法头:指定了方法的特征,包括是否返回数据,如果返回,返回什么类型;方法的名称;哪种类型的数据可以传递给方法或从方法返回,以及如何处理这些数据 ...

  5. 基于AI的智能农业病虫害识别系统实战指南

    引言 在农业现代化进程中,病虫害防治始终是保障粮食安全的核心挑战.传统人工识别方式存在效率低.误判率高.响应滞后等问题.本文将通过完整的技术实现流程,展示如何利用Python生态构建智能病虫害识别系统 ...

  6. Markdown中设置图片尺寸及添加图注

    设置缩放比例 使用下面的语法可以调整图片尺寸,同时保证长宽比: <img style="width:缩放比例;" src="图片资源地址"/> 在标 ...

  7. maven pom.xml文件中properties标签介绍

    在properties标签内可以把版本号作为变量进行声明,方便maven依赖标签用${变量名}的形式动态获取版本号.这样做的优点是当版本号发生改变时,仅仅需要更新properties标签中的变量值就行 ...

  8. 洛谷 P5512 [NOIP1997 提高组] 棋盘问题 加强版

    洛谷 P5512 [NOIP1997 提高组] 棋盘问题 加强版 Problem&Background 可以参考这个 Solution 首先先完成这道题的普通版本P1549 A了那一道题之后, ...

  9. 对apache服务器环境下利用.htaccess配置文件完成文件上传的理解

    对apache服务器环境下利用.htaccess配置文件完成文件上传的理解 .htaccess 文件是 Apache Web 服务器中的配置文件,用于控制服务器的行为.其格式非常简单,通常由一系列指令 ...

  10. LLM 输出配置 (LLM output configuration)

    1.概述 大型语言模型(LLM)的输出行为可以通过多种配置参数进行精细控制.这些参数共同决定了模型生成文本的质量.风格和多样性.理解这些配置选项及其相互作用对于有效使用LLM至关重要. 2.输出长度 ...