【C#】常用的一些特性

46 篇文章 2 订阅
8 篇文章 0 订阅
<span style="font-size:24px;">[Header("名字")]
    public string name = "阿黄";</span>


<span style="font-size:24px;"> //设置多行输入的文本字段。
    [MultilineAttribute]
    public string mText;</span>

<span style="font-size:24px;">//设置多行输入的文本字段。您可以设置的最大值和最小值的行数。
    [SerializeField, TextAreaAttribute(2, 5)]
    public string mText2;</span>
<span style="font-size:24px;">[SerializeField, Range(0, 5)]
    public int count;

    //如果鼠标光标是在字段上,显示的这是count1
    [SerializeField, TooltipAttribute("这是count1")]
    public int count1;</span>



<span style="font-size:24px;">[ContextMenu("Init")]
    void Init()
    {
        Debug.Log("正在初始化");
    }</span>


ExecuteInEditMode

默认状态下,MonoBehavior中的Start,Update,OnGUI等方法,需要在Play的状态下才会被执行。
这个属性让Class在Editor模式(非Play模式)下也能执行。
但是与Play模式也有一些区别。
例如:
Update方法只在Scene编辑器中有物体产生变化时,才会被调用。
OnGUI方法只在GameView接收到事件时,才会被调用。

RuntimeInitializeOnLoadMethodAttribute

此属性仅在Unity5上可用。
在游戏启动时,会自动调用添加了该属性的方法。

using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour
{

    [RuntimeInitializeOnLoadMethod]
    static void OnRuntimeMethodLoad()
    {
        Debug.Log("Game loaded and is running");
    }
}


SerializeField

在变量上使用该属性,可以强制该变量进行序列化。即可以在Editor上对变量的值进行编辑,即使变量是private的也可以。
在UI开发中经常可见到对private的组件进行强制序列化的用法。
例子

public class TestSerializeField : MonoBehaviour {
    [SerializeField]
    private string name;

    [SerializeField]
    private Button _button;
}

MenuItem

在方法上使用,可以在Editor中创建一个菜单项,点击后执行该方法,可以利用该属性做很多扩展功能。 需要方法为static。
例子:

using UnityEngine;
using System.Collections;
using UnityEditor;
public class EditorTest : MonoBehaviour
{
    [MenuItem("MyMenu/Create GameObject")]
    public static void CreateGameObject()
    {
        new GameObject("阿黄是一条好汪");
    }

}



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unity_阿黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值