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