Unity动态绑定Button事件
 
1、单个按钮不带参数
 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Test : MonoBehaviour
{
    public Button btn;
    private void Start()
    {
        btn.onClick.AddListener(BtnOnClick);
    }
    public void BtnOnClick()
    {
    }
}
 
2、单个按钮带参数
 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Test : MonoBehaviour
{
    public Button btn;
    private void Start()
    {
        btn.onClick.AddListener(delegate { BtnOnClick(0); });
    }
    public void BtnOnClick(int value)
    {
        Debug.Log("打印信息");
    }
}
 
3、多个按钮带参数
 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Test : MonoBehaviour
{
    public Button[] btn;
    private void Start()
    {
        for (int i = 0; i < btn.Length; i++)
        {
            int a = i;
            btn[i].onClick.AddListener(delegate { BtnOnClick(a); });
        }
    }
    public void BtnOnClick(int value)
    {
        Debug.Log("打印信息" + value);
    }
}