C# 常用属性标记 记录

HideInInspector 属性
例:
[HideInInspector]
public NavMeshObstacle nmo;
使得一个变量不显示在inspector(检视面板)但是被序列化。即不会显示,也不会被外部类调用。

RequireComponent约束组件
实用方法:[RequireComponent(typeof(PlayMakerFSM))]
当你添加的一个用了RequireComponent组件的脚本,需要的组件将会自动被添加到game object(游戏物体)。这个可以有效的避免组装错误。举个例子一个脚本可能需要刚体总是被添加在相同的game object(游戏物体)上。用RequireComponent属性的话,这个过程将被自动完成,因此你可以永远不会犯组装错误。

实用方法:[RequireComponent(typeof(Rigidbody))]
在某个自定类(派生于MonoBehavior)前写上这个属性,
那么当附加该组件的时候,会强制自动添加组件typeof(Rigidbody)
RequireComponent约束的组件。是不能删除的。除非先删除当前自定义脚本。
PS:可以多个 typeof()

Serializable
在使用Unity开发的时候。时常会用到 [Serializable] 特性来序列化处理一个类。然后想着自己也定义一个 Attribute来管理自己代码。

using System.Runtime.InteropServices;

namespace System
{
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Delegate, Inherited = false, AllowMultiple = false)]
    [ComVisible(true)]
    public sealed class SerializableAttribute : Attribute
    {
        public SerializableAttribute();
    }
}

SerializeField:序列化区域
实用方法:[SerializeField]
写在(派生于MonoBehavior)类中的变量上,实际效果如同变量前加个 public。
好处就是,你可以给变量定义成私有或者保护,并且显示在Inspector中。

Range(float min, float max):区域约束
实用方法:[Range(1, 5)]
写在(派生于MonoBehavior)类中的变量上。
这时,该变量在Inspector区域内显示成一个拖动条。
PS:也可以写在数组变量上。

Tooltip(string tooltip):提示
实用方法:[Tooltip(“这就是测试”)]
写在(派生于MonoBehavior)类中的变量上。
这时,当鼠标移动到Inspector区域的该变量上,会出现一个提示。

Space(float height):间隔
实用写法:[Space(60)]
写在(派生于MonoBehavior)类中的变量上。
这时,该变量在Inspector区域内将于上一个变量之间空开60像素。

Header(string header):显示文字
实用写法:[Header(“显示字符串”)]
写在(派生于MonoBehavior)类中的变量上。
这时,该变量在Inspector区域的显示上一行中显示显示字符串。

Multiline(int lines):多行文本框
实用写法:[Multiline(5)]
写在(派生于MonoBehavior)类中的string变量上。
这时,该变量在Inspector区域的显示为一个多行编辑框。

TextArea(int minlines, int maxlines):多行文本框(滑动条)
实用写法:[TextArea(1,7)]
写在(派生于MonoBehavior)类中的string变量上。
这时,该变量在Inspector区域的显示为一个多行编辑框,超出了最大行,就会显示滚动条。

ContextMenu(string item):组件菜单
实用写法:[ContextMenu(“ShowName”)]
写在(派生于MonoBehavior)类中的方法上。
这时,挂有该脚本的对象的Inspector的脚本的右上角三个点的按钮中多出一个菜单按钮。

DisallowMultipleComponent:不能在一个对象上重复添加该脚本
实用写法:[DisallowMultipleComponent]
写在(派生于MonoBehavior)类上。
这时,挂有该脚本的对象不能再挂这个类。

AddComponentMenu(string menuItem):在Component菜单中添加一项
实用写法:[AddComponentMenu(“新功能/生成cs文件”)]
写在(派生于MonoBehavior)类上。
这时,在菜单Component中出现了你的自定义的菜单按钮

CreateAssetMenu:增加配置
[CreateAssetMenu(menuName = “Configs/Config”)]
public class Config : ScriptableObject

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值