你只需要在字段上添加特效即可 [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

如何优化Java代码的可维护性:经验与建议在软件开发过程中,编写具有良好可维护性的代码是至关重要的。可维护性意味着代码能够被轻松理解、修改和扩展,而不会引发意外的问题或额外的工作量。对于Java开发者来说,如何优化代码的可维护性是一个重要课题。本文将分享一些经验和建议,帮助Java开发者提升其代码的可维护性。遵循规范的命名规则规范的命名规则能够使代码更易读,

在go语言中,可以使用多行注释符“/**/”来注释多行代码。多行注释(简称块注释),以“/*”开头,并以“*/”结尾,且不可以嵌套使用,语法“/*注释内容...*/”;多行注释一般用于包的文档描述或注释成块的代码片段。

本站10月16日消息,Unity「团结引擎」的首款产品团结引擎创世版和团结引擎车机版正式开启内测活动,这是「团结引擎」首次面向开发者进行小范围内测。测试时间:2023年10月16日至2023年12月31日。本站注意到,团结引擎是Unity中国研发团队推出的Unity中国版引擎,以Unity2022LTS为研发基础,推出了微信小游戏解决方案、团结引擎车机版。微信小游戏解决方案团结引擎针对性地推出了一站式微信小游戏解决方案,为了更好地支持微信小游戏开发(环境适配、性能优化),新增了微信小游戏专属目标

Unity3D程序的安全问题代码安全问题Unity3D程序的核心程序集文件Assembly-CSharp.dll是标准的.NET文件格式,附带了方法名、类名、类型定义等丰富的元数据信息,使用DnSpy等工具可以轻易地将其反编译和篡改,代码逻辑、类名和方法名等一览无余。代码逻辑一但被反编译,很容易滋生各种类型的外挂,破坏游戏平衡,如果代码逻辑中存在漏洞,也容易被挖掘和利用,可能对开发商造成无法预料的损失。资源安全问题Unity3D程序在编译打包阶段会通过Unity编辑器将资源打包成AssetBun

Golang是一种编程语言,它有着比较高的代码可读性和简洁性。然而,在编写代码时,总有些地方需要添加注释来帮助解释某些细节或者增加代码的可读性。在这篇文章中,我们将介绍一些关于Golang注释的内容。

php语言支持3种注释风格:1、C++风格,使用“//”符号,语法“//注释内容”;2、C语言风格,使用“/* */”符号,语法“/* 注释内容 */”;3、Shell风格(Perl风格),使用“#”符号,语法“#注释内容”。

效率提升!PyCharm中快速注释代码的方法分享在日常的软件开发工作中,我们经常需要注释掉一部分代码进行调试或者调整。如果手动逐行添加注释,这无疑会增加我们的工作量和耗费时间。而PyCharm作为一款强大的Python集成开发环境,提供了快速注释代码的功能,大大提升了我们的开发效率。本文将分享一些在PyCharm中快速注释代码的方法,并提供具体的代码示例。单

PyCharm注释神器:让代码注释变得轻松又高效导语:代码注释是程序开发中不可或缺的一部分,无论是为了方便代码阅读、协作开发,还是为了方便后续的代码维护与调试。而在Python开发中,PyCharm注释神器则为我们带来了便捷而高效的代码注释体验。本文将为大家详细介绍PyCharm注释神器的功能和使用方法,并结合具体的代码示例进行演示。一、PyCharm注释神


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).
