監聽腳本綁定事件與屬性改變事件

本文轉載自Unity3D研究院編輯器之監聽腳本綁定事件與屬性改變事件(十一),感謝原作者提供好文章

在編輯模式下可能會用到, 比如我想做當綁定一個腳本後做點什麼事情。。。 再比如我想當腳本序列化的數據發生改變做點什麼事情等等。。

舉個典型的例子 比如有些腳本需要美術 或者策劃掛在場景的模型上, 那麼這些模型有很多沒用的的組件 比較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變量發生變化後就會執行了。

這裏寫圖片描述

如果說你想在一個統一的地方處理這些事件,那麼就把reset和OnValidate消息拋出去吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章