using UnityEditor.Events;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
public class NewBehaviourScript : MonoBehaviour
{
/// <summary>
/// 为所有子物体的 按钮组件的点击事件加上监听方法 并传参
/// 传参的依据就是 自身相对于父物体的索引值
/// </summary>
[ContextMenu("子按钮加监听,并传参")]
private void ButtonsAddListener()
{
UnityAction<int> unityAction = new UnityAction<int>(PrintInt);
for (int i = 0; i < transform.childCount; i++)
{
UnityEventTools.AddIntPersistentListener
(transform.GetChild(i).GetComponent<Button>().onClick, unityAction, i);
}
}
/// <summary>
/// 测试方法:打印参数值
/// </summary>
/// <param name="i"></param>
public void PrintInt(int i)
{
print(i);
}
}