Unity编辑器开发分享unity修炼之路我们就爱程序媛

【Unity3d编辑器从入门到精通】标准的编辑器功能之方便开发调

2017-08-24  本文已影响17人  霸俊流年

方便开发者开发的一些API

ExecuteInEditMode

未运行的情况下,显示GUI
相关脚本
using UnityEngine;

[ExecuteInEditMode]
public class NewBehaviourScript : MonoBehaviour
{
    [Range(0,10)]
    public int number;

    void Awake ()
    {
        Debug.Log ("Awake");
    }

    void Start ()
    {
        Debug.Log ("Start");
    }

    void Update ()
    {
        Debug.Log ("Update");
    }

    private void OnGUI()
    {
        if (GUI.Button(new Rect(10, 10, 150, 100), "I am a button"))
            print("You clicked the button!");
    }
}

ContextMenuItem
用于丰富上下文菜单的功能

右键点击脚本标题或者点击齿轮部分弹出
相关代码
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour
{
    [Range (0, 10)]
    public int number;

    [ContextMenu ("RandomNumber")]
    void RandomNumber ()
    {
        number = Random.Range (0, 100);
    }

    [ContextMenu ("ResetNumber")]
    void ResetNumber ()
    {
        number = 0;
    }
}

SelectionBase
用于指定要选择的对象,通常用在控制视图中要选择的对象时候使用。

当点击多层级的对象后

当写了如下脚本,并挂载到子物体上:

using UnityEngine;

[SelectionBase]
public class NewBehaviourScript : MonoBehaviour
{
}
此时点击多层级的对象,将选中子物体,再次点击才会选中Cube

通过这种方式,可以自定义点击对象的层级选择:


子对象层级选择顺序
上一篇下一篇

猜你喜欢

热点阅读