internal static void Execute(object msg, NetConnection conn) { Msg_RC_PublishEvent _msg = msg as Msg_RC_PublishEvent; if (null == _msg) { return; } try { bool isLogic = _msg.is_logic_event; string name = _msg.ev_name; string group = _msg.group; ArrayList args = new ArrayList(); for (int i = 0; i < _msg.args.Count; i++) { switch (_msg.args[i].val_type) { case ArgType.NULL: //null args.Add(null); break; case ArgType.INT: //int args.Add(int.Parse(_msg.args[i].str_val)); break; case ArgType.FLOAT: //float args.Add(float.Parse(_msg.args[i].str_val)); break; default: //string args.Add(_msg.args[i].str_val); break; } } object[] objArgs = args.ToArray(); Utility.EventSystem.Publish(name, group, objArgs); } catch (Exception ex) { LogSystem.Error("Msg_RC_PublishEvent_Handler throw exception:{0}\n{1}", ex.Message, ex.StackTrace); } }
internal static void Execute(object msg, NetConnection conn, NetworkSystem networkSystem) { Msg_RC_PublishEvent _msg = msg as Msg_RC_PublishEvent; if (null == _msg) { return; } try { bool isLogic = _msg.is_logic_event; string name = _msg.ev_name; string group = _msg.group; ArrayList args = new ArrayList(); foreach (Msg_RC_PublishEvent.EventArg arg in _msg.args) { switch (arg.val_type) { case 0://null args.Add(null); break; case 1://int args.Add(int.Parse(arg.str_val)); break; case 2://float args.Add(float.Parse(arg.str_val)); break; default://string args.Add(arg.str_val); break; } } object[] objArgs = args.ToArray(); } catch (Exception ex) { LogSystem.Error("Msg_RC_PublishEvent_Handler throw exception:{0}\n{1}", ex.Message, ex.StackTrace); } }