Unity event事件解绑

作者: IongX | 来源:发表于2017-02-21 17:26 被阅读50次

代码如下:

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");
    }
}

相关文章

网友评论

    本文标题:Unity event事件解绑

    本文链接:https://www.haomeiwen.com/subject/jnpuwttx.html