代码如下:
using UnityEngine;
public class EventTest : MonoBehaviour {
public delegate void ClickEventHandle();
public event ClickEventHandle OnClickEvent;
void Start()
{
OnClickEvent += EventA;
OnClickEvent += EventB;
System.Delegate[] dgs = OnClickEvent.GetInvocationList();
foreach (var item in dgs)
{
OnClickEvent -= item as ClickEventHandle;
}
OnClickEvent += EventC;
}
void OnGUI()
{
if (GUI.Button(new Rect(10,10,100,50),"Show"))
{
if (OnClickEvent != null)
{
OnClickEvent();
}
}
}
public void EventA()
{
Debug.Log("AAA");
}
public void EventB()
{
Debug.Log("BBB");
}
public void EventC()
{
Debug.Log("CCC");
}
}