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类型字 ...
随机推荐
- 使用TensorFlow实现神经网络的介绍
http://www.toutiao.com/i6414029277641048577/
- Nand 的几个名词:oob,bbt,ecc
转:http://blog.csdn.net/lanmanck/article/details/4230904 例如Samsung K9F1208U0B,数据存储容量为64MB,采用块页式存储管理.8 ...
- 手动删除SVCH0ST.EXE的方法
最近几天在办公室的计算机上又发现了一种病毒,在进程管理器中多出了两个进程:SVCH0ST.EXE.IEXPLORE.EXE,经一番查看揭开了它们的真面目,现将清除这种病毒的方法总结如下: 病毒 ...
- C++中virtual(虚函数)的用法
在面向对象的C++语言中,虚函数(virtual function)是一个非常重要的概念. 什么是虚函数: 虚函数是指一个类中你希望重载的成员函数 ,当你用一个 基类指针或引用 指向一个继承类对 ...
- json格式在线解析
地址:https://www.bejson.com/ { "PN": "123456", "DomainName": ".gxyc ...
- java根据身份证号和获取用户年龄和性别的工具类
import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util ...
- 【前端开发】 5分钟创建 Mock Server
http://blog.csdn.net/wxqee/article/details/50165581 NOTIFY 官网文档现在已经很简约.很强大了,建议直接点击这里: Getting Starte ...
- dev_queue_xmit()函数返回值问题
函数 dev_queue_xmit()用于直接使用sk_buf发包,此函数有返回值,但是并不能通过 此函数返回值为0来说明包已经发送出去且可以立刻释放sk_buff内存.因为网卡发包是一个异步的过程 ...
- CSS——如何清除浮动
众所周知,平时在写HTML代码时,难免少不了使用Float样式,这样一来,假使您没有清除浮动,那么有浮动元素的父元素容器将元素将无法自动撑开.换句简单好理解的话来说,假如你在写CODE时,其中div. ...
- python——父类与子类的一些说明
Python中类的初始化方法是__init__(),因此父类.子类的初始化方法都是这个,如果子类不实现__init__()这个函数,初始化时调用父类的初始化函数, 如果子类实现了这个函数,则要在这个函 ...