如何在Unity中為C原生Event/Delegate添加函數?
Unity2018為我們提供了一種便捷的方式來處理事件——EventHandler和Delegate。本文將介紹在Unity中如何使用C原生EventHandler/Delegate,以及注意事項。使
Unity2018為我們提供了一種便捷的方式來處理事件——EventHandler和Delegate。本文將介紹在Unity中如何使用C原生EventHandler/Delegate,以及注意事項。
使用C原生Event和在其他.NET程序中使用原生EventHandler沒有本質區(qū)別。在Unity中使用C原生Event時,可以直接使用“ ”運算符將一個函數作為處理函數添加,例如ApplicationMessageRecieved是一個EventHandler,只需將函數名稱加上“ ”即可。
當Event觸發(fā)時,添加的函數就會被調用。無論是static的還是普通的函數都能被正常調用。此外,我們也可以自己定義Delegate,并且為其添加處理函數。
首先創(chuàng)建一個名為MessageDataDelegate的委托,在其中創(chuàng)建一個名為messageHandler的委托實例。然后通過調用Invoke方法來執(zhí)行處理函數。要為該委托指定處理函數,只需使用“new”關鍵字創(chuàng)建一個Delegate類型的對象即可。
最后需要注意的是:一個EventHandler可以添加多個處理函數,甚至可以重復添加相同的處理函數,因為添加多次會被調用多次。
以上就是在Unity中為C原生Event/Delegate添加函數的詳細步驟,希望本文對你有所幫助!