示例#1
0
文件: EventMgr.cs 项目: hjj0416/Demo
 /// <summary>
 /// 添加事件
 /// </summary>
 /// <param name="type">事件类型</param>
 /// <param name="listenerFunc">监听函数</param>
 public static void addEventListener(EventEnum type, EventHandleDelegate listener)
 {
     //if (type == EventEnum.RefreshBossTip) return;
     try
     {
         if (listener == null)
         {
             return;
         }
         Delegate func;
         if (delegates.TryGetValue(type, out func))
         {
             func = Delegate.Remove(func, listener);//去除重复
             func = Delegate.Combine(func, listener);
         }
         else
         {
             func = listener;
         }
         delegates[type] = func;
     }
     catch (Exception e)
     {
         Debug.LogError("addEventListener error " + e + "  " + type);
     }
 }
示例#2
0
文件: EventMgr.cs 项目: hjj0416/Demo
    /// <summary>
    /// 删除事件
    /// </summary>
    /// <param name="type">事件类型</param>
    /// <param name="listenerFunc">监听函数</param>
    public static void removeEventListener(EventEnum type, EventHandleDelegate listener)
    {
        if (listener == null)
        {
            return;
        }
        Delegate func = null;

        if (delegates.TryGetValue(type, out func))
        {
            func = Delegate.RemoveAll(func, listener);
        }
        delegates[type] = func;
    }