Example #1
0
    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);
        }
    }
Example #2
0
    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);
        }
    }