Unity UGUI 動態新增Button.OnClick()事件
阿新 • • 發佈:2019-02-06
using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.Events; using UnityEngine.UI; public class ButtonOnClickTest: MonoBehaviour { // Use this for initialization void Start () { List<string> btnsName = new List<string>(); btnsName.Add("BtnPlay"); btnsName.Add("BtnShop"); btnsName.Add("BtnLeaderboards"); foreach(string btnName in btnsName) { GameObject btnObj = GameObject.Find(btnName); Button btn = btnObj.GetComponent<Button>(); btn.onClick.AddListener(delegate() { this.OnClick(btnObj); }); } } public void OnClick(GameObject sender) { switch (sender.name) { case "BtnPlay": Debug.Log("BtnPlay"); break; case "BtnShop": Debug.Log("BtnShop"); break; case "BtnLeaderboards": Debug.Log("BtnLeaderboards"); break; default: Debug.Log("none"); break; } } // Update is called once per frame void Update () { } }