[Serializable] 序列化, 适用与 class struct enum delegate 由于此类没有从MonoBehavior派生,所以 默认并不会被U3D识别可以序列的结构
[SerializeFile] 序列化字段, 将原本不会被序列化的私有,保护 变量 变成可以被 序列化的(暴露属性面板),那么下次读取的值就是上次设置的值
[System.NonSerialized] 定义一些 Public 变量,不希望保留,隐藏
[HideInInspector] 仅仅 隐藏
[System.Flags]
设置一个变量flag,是一个来表示判断的变量,当做标志
[Flags]
public enum Permission
{
create = 1,
read = 2,
update = 4,
delete = 8,
}
在数据库中判断:
AND (@permission IS NULL OR @permission=0 OR permission &@permission =@permission)
Inspector扩展
// 限定取值范围
[Range(1, 10)] public int num1;
// 空出多行
[Multiline(5)]
[TextArea(3, 5)]
// 对本组件右键设置功能按钮 这对于从脚本自动设置场景数据非常有用。该功能必须是非静态的。
[ContextMenu("Init")]
Void Creat(){}
// 对本属性右键设置功能按钮
[ContextMenuItem ("Name", "MethodName")]
void MethodName () {}
// 设置调色板
[ColorUsage (false)]
public Color color;
[ColorUsage (true, true, 255, 255, 255, 3)]
HDR | 如果设置为true,则将Color视为HDR颜色。 |
showAlpha | 如果为false,则Alpha栏隐藏在ColorField中,并且颜色选择器中不显示alpha值。 |
public Color black;
[Header("xxxx")] //头 标题
public Color black;
public int Alpha;
[Space(10)] //在Inspector中添加一些间距。
[Tooltip("这是一个提示工具")]
[RequireComponent(typeof(xxx组件))]