/// <summary>
    /// 注册
    /// 扩展方法必须为静态
    /// </summary>
    /// <param name="self">Self.</param>
    /// <param name="msg">Message.</param>
    /// <param name="callBack">Call back.</param>
    public static void RegisterSelf(this IMsgReceiver self, string msg, PublicDelegate.VoidDelegateWithParam callBack)
    {
        if (string.IsNullOrEmpty(msg))
        {
            Debug.LogError("消息不能为空");
            return;
        }

        if (null == callBack)
        {
            Debug.LogError("回调不能为空");
            return;
        }

        if (false == mMsgTrapDict.ContainsKey(msg))
        {
            mMsgTrapDict.Add(msg, new List <MsgTrap>());
        }

        var handers = mMsgTrapDict [msg];

        foreach (var item in handers)
        {
            if (item.receiver == self && item.callBack == callBack)
            {
                Debug.Log(self + "has already a" + msg);
                return;
            }
        }

        handers.Add(new MsgTrap(self, callBack));
    }
 public MsgTrap(IMsgReceiver _r, PublicDelegate.VoidDelegateWithParam _callBack)
 {
     this.receiver = _r;
     this.callBack = _callBack;
 }