如何动态给EventDelegate添加参数

2025-04-23 20:50:36
推荐回答(1个)
回答1:

  using UnityEngine; using System.Collections; public class SZEventDelegateParams : MonoBehaviour { public int param = 2; void Start() { // 创建新的delegate,最后调用此(this)脚本的Finished函数。当然this可以换成别的脚本,这里为了方便 EventDelegate eventDelegate = new EventDelegate(this, "Finished"); // 把第一个参数设置为此(this)脚本的param变量。当然this可以换成别的脚本,这里为了方便 eventDelegate.parameters[0] = new EventDelegate.Parameter(this, "param"); UIPlayTween uipt = this.GetComponent(); uipt.onFinished.Add(eventDelegate); uipt.Play(true); } // PlayTween 结束后,会调用到这里,打印相应的值 void Finished(int p) { Debug.Log(p.ToString()); } }