在编辑模式下可能会用到, 比如我想做当绑定一个脚本后做点什么事情。。。 再比如我想当脚本序列化的数据发生改变做点什么事情等等。。
举个典型的例子 比如有些脚本需要美术 或者策划挂在场景的模型上, 那么这些模型有很多没用的的组件 比较Animation 或者 Collider 如果在这里监听的话, 当他们挂在脚本的时候就可以删除这些没用的了组件了。。
把如下脚本在编辑模式下绑定在某个对象上即可。。
using UnityEngine;
using System.Collections;
public class NewBehaviourScript : MonoBehaviour
{
public string name = "雨松MOMO";
#if UNITY_EDITOR
void Reset()
{
Debug.Log("脚本添加事件");
}
void OnValidate()
{
Debug.Log("脚本对象数据发生改变事件");
}
#endif
}
如下图所示, Reset方法绑定脚本时会执行一次。以后每次点击”Reset”也会执行。OnValidate方法是脚本中序列化的数据发生改变,比如这里字符串name变量发生变化后就会执行了。
Unity3D研究院编辑器之监听脚本绑定事件与属性改变事件(十一) - 雨松MOMO程序研究院 - 1
网友评论