Beispiel #1
0
        //派发事件
        private static void SendEvent(GEvent evt)
        {
            if (_callbackDict.ContainsKey(evt.type))
            {
                List<EventCallBack> list = (_callbackDict[evt.type] as List<EventCallBack>).ToList();
                foreach (EventCallBack fn in list)
                {
                    try
                    {
                        fn(evt);
                    }
                    catch (Exception ex)
                    {
                        Log.infoError(string.Format("SendEvent Exception {0}, {1}", evt.type, ex.ToString()));
                        //CLogSys.Log(ELogLevel.Fatal, ELogTag.Event, string.Format("SendEvent Exception {0}, {1}", evt.type, ex.ToString()));
                    }
                }
            }

            //CLogSys.Log(ELogLevel.Verbose, ELogTag.Event, string.Format("SendEvent {0}", evt.type));

            _pool.FreeObject(evt.GetHashCode());//扔回对象池

        }