本文共 1827 字,大约阅读时间需要 6 分钟。
本文为个人学习笔记,基于 AddComponentMenu 属性进行整理和总结。如需查看原文,请访问指定链接。
通过使用 융용ENCH 的内置属性 AddComponentMenu,可以将脚本添加到组件菜单中,方便通过Inspector创建组件。
using UnityEngine;using System.Collections;public class People : MonoBehaviour{ [AddComponentMenu("Learning/People")] public string name;} 该属性适用于右键点击物体后选择添加组件的场景。
RequireComponent 属性用于强制在物体上添加指定组件,若已存在则不重复。注意,在代码修改后需重新添加该属性。
[RequireComponent(typeof(Rigidbody))]public class People : MonoBehaviour{ // 扩展部分...} 注意事项: 在物体已挂载脚本时,建议避免直接修改脚本属性,否则可能导致该属性失效。
用于添加右键菜单选项,前者为菜单项设置回调函数,后者为变量设置额外方法。
public class People : MonoBehaviour{ [ContextMenuItem("OutputInfo")] public void OutputInfo() { Debug.Log(name + "|" + age); }} 另外,ContextMenuItem 也可用于格式化字符串编辑器输出。
定义自定义帮助链接,可供在Inspector中点击查阅详细文档。
[HelpURL("http://www.baidu.com")]public class People : MonoBehaviour{ // 扩展部分...} 注意事项: 助手链接需以 http:// 或 https:// 开头。
[InitializeOnLoad] 指示脚本在编辑器启动时执行,适用于需在游戏性运行之外初始化逻辑的场合。
模板示例如下:
public class StartUpScript : MonoBehaviour{ [InitializeOnLoad] private void Awake() {}} 高级属性如 Range、Multiline 和 Header 可以提升开发体验。
示例:
[Header("BaseInfo")][Multiline(5)]public string desc = "通过设置这些属性,便可高度定制游戏交互体验;";[Range(-10, 10)]public int level = 0;[Space(50)][Tooltip("性别选择")]public string gender = "未设置"; 说明: Header 为属性添加标题支持、Multiline 实现多行输入,Space 控制属性间距。
Tooltip 和 Space 是现代UI开发中常用的细节优化工具。
[Space(50)][Tooltip("性别设置")]public string gender = "未设置"; 可用场景: 在Forbidden设想中,专门处理性别和其他用途属性时非常实用。
控制变量的可序列化和可视化特性。以下是重点学习内容:
[System.Serializable]public class Student{ public string name; public int age;}public class Teacher : MonoBehaviour{ public Student student;} 注意事项: 需要系统性学习可序列化类型和属性组合使用方法。
通过对这些属性的深入理解,可以显著提升脚本管理效率和可维护性。
希望这份笔记对您的学习有所帮助!如需进一步讨论,请联系作者。
转载地址:http://gqzxz.baihongyu.com/