Unity Editor Inspector编辑模板
效果图:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(test))]
public class Edit_test : Editor
{
test test_scripts; //脚本本体
SerializedObject serObj;//用来获取各脚本变量
SerializedProperty int_data;
SerializedProperty float_data;
SerializedProperty vector3_data;
SerializedProperty bool_data;
SerializedProperty texture2d_data; /// <summary>
/// 初始化,绑定各变量
/// </summary>
private void OnEnable()
{
test_scripts= (test)target;
serObj = new SerializedObject(target); int_data = serObj.FindProperty("int_data");
float_data = serObj.FindProperty("float_data");
vector3_data = serObj.FindProperty("vector3_data");
bool_data = serObj.FindProperty("bool_data");
texture2d_data = serObj.FindProperty("texture2d_data");
} /// <summary>
/// 显示
/// </summary>
public override void OnInspectorGUI()
{
serObj.Update();
EditorGUILayout.LabelField("以下是各数据的设置", EditorStyles.miniLabel);
EditorGUILayout.Separator();
EditorGUILayout.PropertyField(int_data, new GUIContent("int_data"));
EditorGUILayout.Slider(float_data, 0.0f, 50.0f, new GUIContent("float_data"));//滑动条
EditorGUILayout.PropertyField(vector3_data, new GUIContent("vector3_data"));
EditorGUILayout.PropertyField(bool_data, new GUIContent("bool_data"));
EditorGUILayout.PropertyField(texture2d_data, new GUIContent("texture2d_data"));
EditorGUILayout.EndFadeGroup();
if (GUILayout.Button("输出信息"))
{
test_scripts.PrintData();
}
serObj.ApplyModifiedProperties();
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class test : MonoBehaviour
{ public int int_data;
public float float_data;
public Vector3 vector3_data;
public bool bool_data;
public Texture2D texture2d_data; public void PrintData()
{
Debug.Log("int_data=" + int_data);
Debug.Log("float_data=" + float_data);
Debug.Log("Vector3_data=" + vector3_data);
Debug.Log("bool_data=" + bool_data);
}
}
Unity Editor Inspector编辑模板的更多相关文章
- Spine用于Timeline(NullReferenceException: Object reference not set to an instance of an object pine.Unity.Editor.AnimationReferenceAssetEditor.OnInspectorGUI ())
报错信息:Spine.Unity.Editor.AnimationReferenceAssetEditor.OnInspectorGUI () (at Assets/Extention/Spine/E ...
- Unity 自定义Inspector面板时的数据持久化问题
自定义Inspector面板的步骤: Unity内创建自定义的Inspector需要在Asset的任意文件夹下创建一个名字是Editor的文件夹,随后这个文件夹内的cs文件就会被放在vstu生成的Ed ...
- Unity Editor 下创建Lua和Text文件
预览 在Project视图中,扩展右键菜单,右键 – Create - Text File 创建一个Text文件,或者Lua文件. 关键点 获取当前选择的路径,以Assets路径开头 var sele ...
- Unity Editor已停止工作
在更换系统之后,可能会出现打开刚安装好的Unity,显示Unity Editor已停止工作,这时候我们考虑是系统win7的问题.可以在原系统上升级,也可以重新安装,升级.文中所涉及到的软件,可在右侧加 ...
- [Editor]Unity Editor类常用方法
Editor文档资料 Unity教程之-Unity Attribute的使用总结:http://www.unity.5helpyou.com/3550.html 利用unity3d属性来设置Inspe ...
- 编写 Unity Editor 插件
Editor Style Viewer 在开发过程中,我喜欢编写一些辅助的Editor插件,方便在游戏开发过程进行调试. 下面是摘自Asset Store的一个查看Unity 默认GUI样式的小工具 ...
- [cb] Unity Editor 添加右键菜单
需求 为Unity的Editor窗口添加右键菜单 实现代码 // This example shows how to create a context menu inside a custom Edi ...
- unity Editor的使用
1.首先定义一个需要控制数值的类,类中定义若干个变量 using UnityEngine;using System.Collections; using UnityEngine; using Syst ...
- 让Unity的Inspector面板支持字符限制(restrict)功能
今天在优化红点组件,笔者打算将红点id由10进制改为16进制处理,就打算将红点id字段由uint类型改成string类型,用于填写16进制的字符(因为在Inspector面板里,uint/int类型字 ...
随机推荐
- linux之vim命令
:tabe fn 在一个新的标签页中编辑文件fngt 切换到下一个标签页gT 切换到上一个标签页:tabr 切换到第一个标签页:tabl 切换到最后一个标签页: ...
- ASIHTTPRequest框架使用总结系列之阿堂教程2(同步请求)
从本篇开始,阿堂结合一些具体代码来说明.在ASIHTTPRequest框架中,与http请求相关的类有ASIHTTPRequest 和 ASIFormDataRequest,其中最常用的是 ASIH ...
- Linux用户配置sudo权限(visudo)
sudo的工作过程如下: 1,当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限 2,确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认 ...
- 泳池水面fresnel 的近似替代
vs float4 ep = TBMultiply(ModelViewMatrix, FinalPosition); DistFromEye.x = TBSaturate( 10.0 + ep.z / ...
- Camera图像处理原理及实例分析
Camera图像处理原理及实例分析 作者:刘旭晖 colorant@163.com 转载请注明出处 BLOG:http://blog.csdn.net/colorant/ 主页:http://rg ...
- python 注释xml的元素
use xml.dom.minidom 注释xml元素和去除xml注释. code is: #!/usr/bin/env python from xml.dom import minidom impo ...
- MySQL实现删除数据左右空格trim() 左空格ltrim() 右空格rtrim()
2017-03-23 select trim(字段) from 表 删除左右空格 select ltrim(字段) from 表 删除左空格 select rtrim(字 ...
- 【oracle11g,17】存储结构: 段的类型,数据块(行连接、行迁移,块头),段的管理方式,高水位线
一.段的类型: 1.什么是段:段是存储单元. 1.段的类型有: 表 分区表 簇表 索引 索引组织表(IOT表) 分区索引 暂时段 undo段 lob段(blob ,clob) 内嵌表(record类型 ...
- hibernate学习系列-----(5)hibernate基本查询下篇:hibernate聚合函数、分组查询及命名查询
在上一篇中,大致学习了hibernate的基本查询:HQL基本查询,今天,继续昨天的步伐,继续学习hibernate的基本查询..... 1.hql聚合函数,先大致列一下hql的聚合函数有哪些吧: 在 ...
- HTML图片热区
文章来源于:https://www.cnblogs.com/mq0036/p/3337327.html <!DOCTYPE html> <html lang="en&quo ...