訂閱程式碼中的事件

預設情況下,應該使用檢查器訂閱事件,但有時最好在程式碼中執行此操作。在這個例子中,我們訂閱按鈕的 click 事件以便處理它。

using UnityEngine;
using UnityEngine.UI;

[RequireComponent(typeof(Button))]
public class AutomaticClickHandler : MonoBehaviour
{
    private void Awake()
    {
        var button = this.GetComponent<Button>();
        button.onClick.AddListener(HandleClick);
    }

    private void HandleClick()
    {
        Debug.Log("AutomaticClickHandler.HandleClick()", this);
    }
}

UI 元件通常可以輕鬆地提供主要監聽器: