Unity 注释小技巧
你只需要在字段上添加特效即可 [Header( " 注释 " )][Space( 20 )] public Vector3 test1; ===================================================================================== 自己抽时间写了一个中文显示小脚本.下次问问老大能不能加到项目中去 usin
你只需要在字段上添加特效即可
[Header(<span>"</span><span>注释</span><span>"</span><span>)] [Space(</span><span>20</span><span>)] </span><span>public</span> Vector3 test1;
=====================================================================================
自己抽时间写了一个中文显示小脚本.下次问问老大能不能加到项目中去
<span>using</span><span> UnityEngine; </span><span>using</span><span> System.Collections; </span><span>using</span><span> UnityEditor; </span><span>using</span><span> System; </span><span>using</span><span> System.Reflection; </span><span>using</span><span> System.Collections.Generic; [CustomEditor(</span><span>typeof</span><span>(MyCompoment))] </span><span>public</span> <span>class</span><span> MyCompomentEditor : Editor{ </span><span>public</span> MyCompomentEditor():<span>base</span><span>() { </span><span>//</span><span>Debug.Log("我初始化了");</span> <span> } </span><span>private</span> <span>static</span> <span>bool</span> isDevelop = <span>true</span><span>; </span><span>public</span> <span>override</span> <span>void</span><span> OnInspectorGUI() { </span><span>if</span><span> (isDevelop) { MyCompoment edit </span>=<span> (MyCompoment)target; Type t </span>=<span> edit.GetType(); </span><span>string</span> label = <span>string</span><span>.Empty; FieldInfo[] fieldInfs </span>=<span> t.GetFields(); System.Object[] atrrs </span>= <span>null</span><span>; </span><span>for</span> (<span>int</span> i = <span>0</span>; i ) { atrrs = fieldInfs[i].GetCustomAttributes(<span>false</span><span>); </span><span>for</span> (<span>int</span> k = <span>0</span>; k false).Length; k++<span>) { </span><span>if</span> (atrrs[k] <span>is</span><span> LabelAttribute) { label </span>=<span> ((LabelAttribute)atrrs[k]).Label; </span><span>switch</span><span> (fieldInfs[i].FieldType.Name) { </span><span>case</span> <span>"</span><span>String</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.TextField(label, fieldInfs[i].GetValue(edit).ToString())); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>Float</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.FloatField(label, (</span><span>float</span><span>)fieldInfs[i].GetValue(edit))); </span><span>break</span><span>; </span><span>//</span><span>case "Double": </span><span>//</span><span> fieldInfs[i].SetValue(edit, EditorGUILayout.Doube(label, (double)fieldInfs[i].GetValue(edit))); </span><span>//</span><span> break;</span> <span>case</span> <span>"</span><span>Int</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.IntField(label, (</span><span>int</span><span>)fieldInfs[i].GetValue(edit))); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>Int32</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.IntField(label, (</span><span>int</span><span>)fieldInfs[i].GetValue(edit))); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>Color</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.ColorField(label, (UnityEngine.Color)fieldInfs[i].GetValue(edit))); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>GameObject</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.ObjectField(label, (UnityEngine.Object)fieldInfs[i].GetValue(edit), </span><span>typeof</span><span>(GameObject))); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>Component</span><span>"</span><span>: Debug.Log(</span><span>"</span><span>运行过Component</span><span>"</span><span>); fieldInfs[i].SetValue(edit, EditorGUILayout.ObjectField(label, (UnityEngine.Object)fieldInfs[i].GetValue(edit), </span><span>typeof</span><span>(Component))); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>Vector2</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.Vector2Field(label, (Vector2)fieldInfs[i].GetValue(edit))); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>Vector3</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.Vector3Field(label, (Vector3)fieldInfs[i].GetValue(edit))); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>Vector4</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.Vector4Field(label, (Vector4)fieldInfs[i].GetValue(edit))); </span><span>break</span><span>; </span><span>//</span><span>case "Test": </span><span>//</span><span> Debug.Log("运行过Component"); </span><span>//</span><span> fieldInfs[i].SetValue(edit, EditorGUILayout.ObjectField(label, (UnityEngine.Object)fieldInfs[i].GetValue(edit), typeof(Component))); </span><span>//</span><span> break;</span> <span>default</span><span>: </span><span>//</span><span>Debug.Log("fieldInfs[i].Name " + fieldInfs[i].FieldType.BaseType.Name);</span> <span>if</span> (fieldInfs[i].FieldType.BaseType.Name == <span>"</span><span>MonoBehaviour</span><span>"</span><span>) { fieldInfs[i].SetValue(edit, EditorGUILayout.ObjectField(label, (UnityEngine.Object)fieldInfs[i].GetValue(edit), fieldInfs[i].FieldType)); } </span><span>break</span><span>; } } } } } </span><span>else</span><span> { </span><span>base</span><span>.OnInspectorGUI(); } } </span><span>#region</span> 暂时没有用到的代码 <span>/*</span><span> /// <summary> /// 缓存实例的属性,下次就不需要使用循环了 /// </summary> public Dictionary<string string> dir; public void GetProrptes() { if (isDevelop) { MyCompoment edit = (MyCompoment)target; Type t = edit.GetType(); string label = string.Empty; FieldInfo[] fieldInfos = t.GetFields(); System.Object[] atrrs = null; GUIContent contextUI = null; for (int i = 0; i <span>*/</span> <span>#endregion</span><span> }</span></string></span>
MyCompoment:
<span>using</span><span> UnityEngine; </span><span>using</span><span> System.Collections; [SerializeField] </span><span>public</span> <span>class</span><span> MyCompoment : MonoBehaviour { [LabelAttribute(Label </span>= <span>"</span><span>名字</span><span>"</span><span>)] </span><span>public</span> <span>string</span> MyName = <span>"</span><span>123</span><span>"</span><span>; [LabelAttribute(Label </span>= <span>"</span><span>float数字</span><span>"</span><span>)] </span><span>public</span> <span>float</span> float1 = <span>100</span><span>; [LabelAttribute(Label </span>= <span>"</span><span>double数字</span><span>"</span><span>)] </span><span>public</span> <span>double</span> double1 = <span>100</span><span>; [LabelAttribute(Label </span>= <span>"</span><span>int数字</span><span>"</span><span>)] </span><span>public</span> <span>int</span> int1 = <span>100</span><span>; [LabelAttribute(Label </span>= <span>"</span><span>颜色</span><span>"</span><span>)] </span><span>public</span> Color color1 =<span> Color.red; [LabelAttribute(Label </span>= <span>"</span><span>游戏物体</span><span>"</span><span>)] </span><span>public</span><span> GameObject GameObject1; [LabelAttribute(Label </span>= <span>"</span><span>组件</span><span>"</span><span>)] </span><span>public</span><span> StartPanel Component1; [LabelAttribute(Label </span>= <span>"</span><span>2D</span><span>"</span><span>)] </span><span>public</span><span> Vector2 Vector2; [LabelAttribute(Label </span>= <span>"</span><span>3D</span><span>"</span><span>)] </span><span>public</span><span> Vector3 Vector3; [LabelAttribute(Label </span>= <span>"</span><span>4D</span><span>"</span><span>)] </span><span>public</span><span> Vector4 Vector4; }</span>
LabelAttribute特性:
<span>using</span><span> UnityEngine; </span><span>using</span><span> System.Collections; </span><span>using</span><span> System; </span><span>public</span> <span>class</span><span> LabelAttribute : Attribute { </span><span>public</span> <span>string</span><span> Label; }</span>
源代码: http://yunpan.cn/cJhp4tThyGauJ 访问密码 5789

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

很多用户们在现代生活中越来越青睐小米智能家居互联的电子生态,那么连接米家APP后,你就可以轻松用手机来控制连接设备,但是很多用户们还不知如何将自己的家居添加米家app中,那么这篇教程攻略就将为大家带来具体连接方法步骤攻略,希望能帮助到各位有需要的小伙伴们。1、下载米家APP后,创建或者登录小米账户。2、添加方法:当全新的设备通电后,将手机靠近设备并打开小米电视,正常情况下会弹出连接提示,选择“确定”即进入设备连接流程。若无提示弹出,也可以手动添加设备,方法是:进入智能家庭APP后,点击左下方第1

Win11小技巧分享:一招跳过微软账户登录Windows11是微软最新推出的操作系统,具有全新的设计风格和许多实用的功能。然而,对于一些用户来说,在每次启动系统时都要登录微软账户可能会感到有些烦扰。如果你是其中一员,不妨尝试一下以下的技巧,让你能够跳过微软账户登录,直接进入桌面界面。首先,我们需要在系统中创建一个本地账户,来代替微软账户登录。这样做的好处是

C语言中,表示指针,存储其他变量的地址;&表示地址运算符,返回变量的内存地址。指针的使用技巧包括定义指针、解引用指针,需确保指针指向有效地址;地址运算符&的使用技巧包括获取变量地址,获取数组元素地址时返回数组第一元素地址。实战案例说明了使用指针和地址运算符反转字符串。

我们经常在excel中制作和编辑表格,但是作为一个刚刚接触软件的新手来讲,如何使用excel制作表格,并没有我们使用起来那么轻松。下边,我们针对新手,也就是初学者需要掌握的表格制作的一些步骤进行一些演练,希望对需要的人有些帮助。新手表格示例样板如下图:我们看看如何来完成!1,新建excel文档,有两种方法。可以在【桌面】空白位置,点击鼠标右键-【新建】-【xls】文件。也可以【开始】-【所有程序】-【MicrosoftOffice】-【MicrosoftExcel20**】2,双击我们新建的ex

Tampermonkey油猴Chrome扩展是一款用户脚本管理插件,通过脚本提高了用户的效率和浏览体验,那么Tampermonkey怎么添加新脚本?怎么删除脚本呢?下面就让小编给大家解答下吧!Tampermonkey怎么添加新脚本:1、这里拿GreasyFork来举例子,打开GreasyFork网页,输入要按照的脚本,小编这里选择的一键离线下载2、选择一个脚本,进入脚本页面后可以看到安装此脚本的按钮3、点击安装此脚本,来到安装界面。这里点击安装就可以了4、我们可以在以安装的脚本中看到安装好的一键
![Outlook卡在添加帐户[修复]](https://img.php.cn/upload/article/000/887/227/171116770937641.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
当您在Outlook中添加帐户时遇到问题时,可以尝试以下解决方案来解决。通常这可能是由网络连接故障、用户配置文件损坏或其他暂时性问题引起的。通过本文提供的方法,您可以轻松地解决这些问题,确保您的Outlook能够正常运行。Outlook卡在添加帐户如果您的Outlook在添加帐户时卡住,请使用下面提到的这些修复程序:断开并重新连接互联网临时禁用防病毒软件创建新的Outlook配置文件尝试在安全模式下添加帐户禁用IPv6运行Microsoft支持和恢复助手修复办公室应用程序Outlook添加帐户需

VSCode(VisualStudioCode)是一款由微软开发的开源代码编辑器,具有强大的功能和丰富的插件支持,成为开发者们的首选工具之一。本文将为初学者们提供一个入门指南,帮助他们快速掌握VSCode的使用技巧。在本文中,将介绍如何安装VSCode、基本的编辑操作、快捷键、插件安装等内容,并为读者提供具体的代码示例。1.安装VSCode首先,我们需

Win11技巧大揭秘:如何绕过微软账户登录近期,微软公司推出了全新的操作系统Windows11,引起了广泛关注。相比之前的版本,Windows11在界面设计、功能改进等方面做出了许多新的调整,但也引发了一些争议,其中最引人关注的一点就是强制要求用户使用微软账户登录系统。对于一些用户来说,他们可能更习惯于使用本地账户登录,而不愿意将个人信息与微软账户绑定。
