Example #1
0
    /// <summary>
    /// 派发事件
    /// </summary>
    /// <param name="evt">事件ID</param>
    /// <param name="args">事件参数</param>
    public void Notify(string evt, params object[] args)
    {
        if (string.IsNullOrEmpty(evt))
        {
            return;
        }

        for (int i = 0; i < eventList.Count; i++)
        {
            EventListener listener = eventList[i];
            if (listener != null)
            {
                if (listener.Contains(evt))
                {
                    listener.OnNotifiy(evt, args);
                }
            }
        }

        List <Action <string, object[]> > actionList = null;

        if (eventDic.TryGetValue(evt, out actionList))
        {
            for (int i = 0; i < actionList.Count; i++)
            {
                Action <string, object[]> action = actionList[i];
                action?.Invoke(evt, args);
            }
        }
    }