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类型字 ...
随机推荐
- delphi 浮点数float转换成十六进制字符串的方法(FloatToHex)
重新书写了float型转为十六进制的delphi程序 Function FloatToHex(Value: single): string; var l, i: integer; HexText,te ...
- 彻底理解H5的DOM事件
我们大家都知道,人与人之间的交流可以通过语言,文字,肢体动作,面部微表情等,但是你知道Javascript和HTML之间是通过什么进行交互的么?你又知道Javascript和HTML之间是如何进行交互 ...
- maven项目中的GroupId和ArtifactId分别是什么含义
转自 创建maven项目是其中的group id和artifact id怎么填写 groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓 ...
- 容器窗口 <QTabWidget>
////////////////////////////////////////// #include "test9_2a.h" #include "M_win.h&qu ...
- http://bbs.51cto.com/thread-1070029-1-1.html
http://bbs.51cto.com/thread-1070029-1-1.html
- 飘逸的python - 实现一个pretty函数美丽的输出嵌套字典
演示样例: d = { "root": { "folder2": { "item2": None, "item1": N ...
- ubuntu apt-get install xxx时一直报错E: Unable to locate package xxxxxxx
$ sudo add-apt-repository main $ sudo add-apt-repository universe $ sudo add-apt-repository restrict ...
- 【转载】LR - 细节解析,为什么LR脚本会去访问“脚本中不存在的“资源?
问题描述 同事遇到的一个问题,LR执行性能测试脚本时,总报出错误,无法访问一个图片的地址,但脚本中明明没有对该资源的请求. Action4.c(12): Warning -27796: Failed ...
- Hadoop最大值的算法中出现的错误(strToDouble)
错误信息: Exception in thread "main" java.lang.NumberFormatException: For input string: " ...
- <p>在静态类junit.framework.Assert或者静态类org.junit.Assert中存在下面几个方法</p>
在静态类junit.framework.Assert或者静态类org.junit.Assert中存在下面几个方法 1.assertEquals()方法,用来查看对象中存的值是否是期待的值,与字符串比較 ...