Ejemplo n.º 1
0
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.P))
        {
            //获得委托列表
            Delegate[] delArr = callBackDelegate.GetInvocationList();
            for (int i = 0; i < delArr.Length; i++)
            {
                delArr[i].DynamicInvoke();
            }
            Debug.Log("获得委托列表");
        }
        if (Input.GetKeyDown(KeyCode.O))
        {
            //清空委托的
            Delegate[] delArr = callBackDelegate.GetInvocationList();
            for (int i = 0; i < delArr.Length; i++)
            {
                callBackDelegate -= delArr[i] as OnCallBackEnter;
                Debug.Log("??");
            }
            Debug.Log("委托清空");
        }

        if (Input.GetKeyDown(KeyCode.K))
        {
            AddCallBack();
        }

        if (Input.GetKeyDown(KeyCode.L))
        {
            callBackDelegate();
        }
    }
Ejemplo n.º 2
0
 public void AddCallBack()
 {
     Debug.Log("添加委托!!");
     callBackDelegate += TestCallBack1;
     callBackDelegate += TestCallBack2;
     callBackDelegate += TestCallBack3;
 }
Ejemplo n.º 3
0
 public void RemoveCallBack()
 {
     callBackDelegate -= TestCallBack1;
     callBackDelegate -= TestCallBack2;
     callBackDelegate -= TestCallBack3;
 }