【Unity for循环按钮添加事件(监听)】

Unity for循环按钮添加事件(监听)@方便实用

Unity for循环按钮添加事件

利用for循环给Button添加监听,还在为不知道点击了那个按钮在烦恼吗?最近在做项目遇到这个问题花了点时间研究了一下,下面就来看我是怎么解决的吧。话不多说直接上代码:

public class LevelButton
{
    public Transform myTransform;
    public int index = 0;
    public Button myButton;
    public LevelButton(Transform myTransform, int index)
    {
        this.myTransform = myTransform;
        this.index = index;
        myButton = myTransform.GetComponent<Button>();
    }
    public void AddListener(Action<int> onClick)
    {
        myButton.onClick.AddListener(() => { onClick?.Invoke(index); });
    }
    public void RemoveListener()
    {
        myButton.onClick.RemoveAllListeners();
    }

}
public class GameLobbySceneCtrl : UIBase
{

    public Button[] m_LevelButton;//手动添加Button,你也可以将所有Button放置在同一空节点下用GetComponentsInChildren<Button>()
 
   [HideInInspector]
    public int currLevel_Id;
    public int currLevel_Level;
 
    public override void A_Start()
    {
        for(int i = 0; i < m_LevelButton.Length; i++)
        {
            var button = m_LevelButton[i];
            var levelButton = new LevelButton(button.transform, i);
            levelButton.AddListener(On_ChoiseLevelBtn_Click);
        }
        
        //Init_Grid();
    }

    #region 选择关卡On_ChoiseLevelBtn_Click
    private void On_ChoiseLevelBtn_Click(int n)
    {
       
       //这里可以添加你点击按钮需要实现的功能
    }
    #endregion

有其他更优秀的方法就私信我,我们一起学习交流



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值