Пример #1
0
 /// <summary>
 /// 移除系统事件
 /// </summary>
 /// <param name="type"></param>
 public void RemoveListener(SFSEvent type)
 {
     if (eventListeners.ContainsKey(type.Type))
     {
         eventListeners.Remove(type.Type);
     }
 }
Пример #2
0
 /// <summary>
 /// 移除系统事件监听
 /// </summary>
 /// <param name="type"></param>
 /// <param name="listener"></param>
 public void RemoveListener(SFSEvent type, ListenerCallBack listener)
 {
     if (eventListeners.ContainsKey(type.Type))
     {
         return;
     }
     eventListeners[type.Type] -= listener;
 }
Пример #3
0
 /// <summary>
 /// 移除系统事件监听
 /// </summary>
 /// <param name="type"></param>
 /// <param name="listener"></param>
 public void RemoveListener(SFSEvent type, OnNotification listener)
 {
     if (eventListeners.ContainsKey(type.Type))
     {
         return;
     }
     eventListeners[type.Type] -= listener;
 }
Пример #4
0
 /// <summary>
 /// 移除系统事件监听
 /// </summary>
 /// <param name="type"></param>
 /// <param name="listener"></param>
 public void RemoveListener(SFSEvent type, EventHandler listener)
 {
     if (eventListeners.ContainsKey(type.Type))
     {
         return;
     }
     eventListeners[type.Type] -= listener;
 }
Пример #5
0
 /// <summary>
 /// 添加系统事件监听
 /// </summary>
 /// <param name="type">事件类型</param>
 /// <param name="listener">委托函数</param>
 public void AddEventListener(SFSEvent type, OnNotification listener)
 {
     if (!eventListeners.ContainsKey(type.Type))
     {
         OnNotification onNote = null;
         eventListeners[type.Type] = onNote;
     }
     eventListeners[type.Type] += listener;
 }
Пример #6
0
 /// <summary>
 /// 添加系统事件监听
 /// </summary>
 /// <param name="type">事件类型</param>
 /// <param name="listener">委托函数</param>
 public void AddEventListener(SFSEvent type, EventHandler listener)
 {
     if (!eventListeners.ContainsKey(type.Type))
     {
         EventHandler callback = null;
         eventListeners[type.Type] = callback;
     }
     eventListeners[type.Type] += listener;
 }
Пример #7
0
        private void OnConfigLoadFailure(string msg)
        {
            Hashtable hashtable = new Hashtable();

            hashtable["message"] = msg;
            SFSEvent evt = new SFSEvent(SFSEvent.CONFIG_LOAD_FAILURE, hashtable);

            dispatcher.DispatchEvent(evt);
        }
Пример #8
0
 /// <summary>
 /// 添加系统事件监听
 /// </summary>
 /// <param name="type">事件类型</param>
 /// <param name="listener">委托函数</param>
 public void AddEventListener(SFSEvent type, ListenerCallBack listener)
 {
     if (!eventListeners.ContainsKey(type.Type))
     {
         ListenerCallBack callback = null;
         eventListeners[type.Type] = callback;
     }
     eventListeners[type.Type] += listener;
 }
Пример #9
0
        private void OnConfigLoadFailure(BaseEvent e)
        {
            SFSEvent sFSEvent = e as SFSEvent;

            log.Error("Failed to load config: " + (string)sFSEvent.Params["message"]);
            ConfigLoader configLoader = sFSEvent.Target as ConfigLoader;

            configLoader.Dispatcher.RemoveEventListener(SFSEvent.CONFIG_LOAD_SUCCESS, OnConfigLoadSuccess);
            configLoader.Dispatcher.RemoveEventListener(SFSEvent.CONFIG_LOAD_FAILURE, OnConfigLoadFailure);
            BaseEvent evt = new SFSEvent(SFSEvent.CONFIG_LOAD_FAILURE);

            DispatchEvent(evt);
        }
Пример #10
0
        private void OnConfigLoadSuccess(BaseEvent e)
        {
            SFSEvent     sFSEvent     = e as SFSEvent;
            ConfigLoader configLoader = sFSEvent.Target as ConfigLoader;
            ConfigData   configData   = sFSEvent.Params["cfg"] as ConfigData;

            configLoader.Dispatcher.RemoveEventListener(SFSEvent.CONFIG_LOAD_SUCCESS, OnConfigLoadSuccess);
            configLoader.Dispatcher.RemoveEventListener(SFSEvent.CONFIG_LOAD_FAILURE, OnConfigLoadFailure);
            ValidateConfig(configData);
            Hashtable hashtable = new Hashtable();

            hashtable["config"] = configData;
            BaseEvent evt = new SFSEvent(SFSEvent.CONFIG_LOAD_SUCCESS, hashtable);

            DispatchEvent(evt);
            if (autoConnectOnConfig)
            {
                Connect(config.Host, config.Port);
            }
        }
Пример #11
0
        private void TryParse()
        {
            //Discarded unreachable code: IL_02d1
            ConfigData configData = new ConfigData();

            try
            {
                XMLNodeList xMLNodeList = rootNode["SmartFoxConfig"] as XMLNodeList;
                XMLNode     xMLNode     = xMLNodeList[0] as XMLNode;
                if (GetNodeText(xMLNode, "host") == null)
                {
                    smartFox.Log.Error("Required config node missing: host");
                }
                if (GetNodeText(xMLNode, "port") == null)
                {
                    smartFox.Log.Error("Required config node missing: port");
                }
                if (GetNodeText(xMLNode, "udpHost") == null)
                {
                    smartFox.Log.Error("Required config node missing: udpHost");
                }
                if (GetNodeText(xMLNode, "udpPort") == null)
                {
                    smartFox.Log.Error("Required config node missing: udpPort");
                }
                if (GetNodeText(xMLNode, "zone") == null)
                {
                    smartFox.Log.Error("Required config node missing: zone");
                }
                configData.Host    = GetNodeText(xMLNode, "host");
                configData.Port    = Convert.ToInt32(GetNodeText(xMLNode, "port"));
                configData.UdpHost = GetNodeText(xMLNode, "udpHost");
                configData.UdpPort = Convert.ToInt32(GetNodeText(xMLNode, "udpPort"));
                configData.Zone    = GetNodeText(xMLNode, "zone");
                if (GetNodeText(xMLNode, "debug") != null)
                {
                    configData.Debug = GetNodeText(xMLNode, "debug").ToLower() == "true";
                }
                if (GetNodeText(xMLNode, "useBlueBox") != null)
                {
                    configData.UseBlueBox = GetNodeText(xMLNode, "useBlueBox").ToLower() == "true";
                }
                if (GetNodeText(xMLNode, "httpPort") != null && GetNodeText(xMLNode, "httpPort") != "")
                {
                    configData.HttpPort = Convert.ToInt32(GetNodeText(xMLNode, "httpPort"));
                }
                if (GetNodeText(xMLNode, "httpsPort") != null && GetNodeText(xMLNode, "httpsPort") != "")
                {
                    configData.HttpsPort = Convert.ToInt32(GetNodeText(xMLNode, "httpsPort"));
                }
                if (GetNodeText(xMLNode, "blueBoxPollingRate") != null && GetNodeText(xMLNode, "blueBoxPollingRate") != "")
                {
                    configData.BlueBoxPollingRate = Convert.ToInt32(GetNodeText(xMLNode, "blueBoxPollingRate"));
                }
            }
            catch (Exception ex)
            {
                OnConfigLoadFailure("Error parsing config file: " + ex.Message + " " + ex.StackTrace);
                return;
            }
            Hashtable hashtable = new Hashtable();

            hashtable["cfg"] = configData;
            SFSEvent evt = new SFSEvent(SFSEvent.CONFIG_LOAD_SUCCESS, hashtable);

            dispatcher.DispatchEvent(evt);
        }
Пример #12
0
 /// <summary>
 /// 移动指定类型的所有事件监听
 /// </summary>
 /// <param name="type">要移除的事件类型</param>
 public static void RemoveListener(SFSEvent type)
 {
     EvtMgr.RemoveListener(type);
 }
Пример #13
0
 /// <summary>
 /// 用于从事件管理器中移除特定事件监听
 /// </summary>
 /// <param name="type">要移除的事件类型</param>
 /// <param name="callback">要移除事件对应的回调函数</param>
 public static void RemoveListener(SFSEvent type, EventManager.ListenerCallBack listener)
 {
     EvtMgr.RemoveListener(type, listener);
 }
Пример #14
0
 /// <summary>
 /// 用于向事件管理器中添加一个事件监听
 /// </summary>
 /// <param name="type">事件类型</param>
 /// <param name="callback">回调函数</param>
 public static void AddEventListener(SFSEvent type, EventManager.ListenerCallBack callback)
 {
     EvtMgr.AddEventListener(type, callback);
 }