当前位置:网站首页>Unity3D——自定义类的Inspector面板的修改
Unity3D——自定义类的Inspector面板的修改
2022-08-11 08:04:00 【索利亚噶通】
Unity3D——自定义类的Inspector面板的修改
- 预期目标: 对自定义类的Inspector面板进行修改,达到如下效果
- 步骤
(1)创建自己的脚本(例如Help.cs),置于Assets / Scripts目录(非必须)下
(2)创建与其对应的脚本(HelpInspector.cs), 置于 Assets / Editor 目录(没有可自行创建)下
(3)在SudentInspector.cs中
- 引用UnityEditor命名空间
- 添加特性[CutomEditor(typeof(Help))]
- 继承Editor类
- 重写OnInspectorGUI类
注意:这里重写OnInspectorGUI方法时,编译器自带调用父类中的OnInspectorGUI,这里如果不想要Help类中的不需要的public变量出现在Inspector面板上,就将base.OnInspectorGUI()注释掉
代码
// SudentInspector.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(Help))]
public class HelpInspector : Editor
{
public override void OnInspectorGUI()
{
Help myHelp = (Help)target; // target就是Help Inspector的实例
GUILayout.BeginVertical();
GUILayout.Label("Help Here");
GUILayout.Label("Version: 1.0.0");
GUILayout.EndVertical();
GUILayout.BeginHorizontal();
GUILayout.Label("Test Input", GUILayout.Width(60));
myHelp.helpId = EditorGUILayout.IntField( myHelp.helpId,GUILayout.Width(150));
GUILayout.EndHorizontal();
GUILayout.BeginVertical();
myHelp.helpName = EditorGUILayout.TextField(myHelp.helpName, GUILayout.Width(150));
GUILayout.EndVertical();
}
}
// Help.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Help : MonoBehaviour
{
public bool helpHere;
public int helpId;
public string helpName;
}
功能
- 注意
- 这里的target就是指Help创建出来的Help实例(面板),如果想要控制Help中的变量,不能再创建新的实例,因为我们是去操控面板上这个已经创建出来的实例,也就是target
边栏推荐
- oracle19c does not support real-time synchronization parameters, do you guys have any good solutions?
- IQUNIX A80 exploring TTC金粉 初体验
- 1046 划拳 (15 分)
- RestTemplate工具类
- 查找最新人员工资和上上次人员工资的变动情况
- 1046 punches (15 points)
- 关于#sql#的问题:怎么将下面的数据按逗号分隔成多行,以列的形式展示出来
- FPGA 20个例程篇:11.USB2.0接收并回复CRC16位校验
- 2022-08-10:为了给刷题的同学一些奖励,力扣团队引入了一个弹簧游戏机, 游戏机由 N 个特殊弹簧排成一排,编号为 0 到 N-1, 初始有一个小球在编号 0 的弹簧处。若小球在编号为 i 的弹
- There may be fields that cannot be serialized in the abnormal object of cdc and sqlserver. Is there anyone who can understand it? Help me to answer
猜你喜欢
Hibernate 的 Session 缓存相关操作
Redis 只会用缓存?20种妙用让同事直呼牛X(荣耀典藏版)
关于架构的认知
2022 China Soft Drink Market Insights
关于#sql#的问题:怎么将下面的数据按逗号分隔成多行,以列的形式展示出来
Four operations in TF
如何通过开源数据库管理工具 DBeaver 连接 TDengine
查找最新人员工资和上上次人员工资的变动情况
笔试题大疆08.07
go-grpc TSL authentication solution transport: authentication handshake failed: x509 certificate relies on ... ...
随机推荐
测试用例很难?有手就行
[Recommender System]: Overview of Collaborative Filtering and Content-Based Filtering
1051 Multiplication of Complex Numbers (15 points)
1.1-回归
几何EX3 功夫牛宣布停售,入门级纯电产品为何总成弃子
1076 Wifi Password (15 points)
1.2 - error sources
如何仅更改 QGroupBox 标题的字体?
XXL-JOB 分布式任务调度中心搭建
初级软件测试工程师笔试试题,你知道答案吗?
Evolution and New Choice of Streaming Structured Data Computing Language
opengauss创建用户权限问题
项目2-年收入判断
2021-08-11 For loop combined with multi-threaded asynchronous query and collect results
选择收银系统主要看哪些方面?
研发了 5 年的时序数据库,到底要解决什么问题?
动态代理学习
用 Antlr 重构脚本解释器
Break pad source code compilation--refer to the summary of the big blogger
查找最新人员工资和上上次人员工资的变动情况