示例#1
0
    protected override void OnRequest(request_msg_gm request, object userdata)
    {
        GMActionParam gmParam = userdata as GMActionParam;

        if (gmParam == null)
        {
            return;
        }

        request.cmd = gmParam.Cmd;
    }
示例#2
0
    public void SendText(ChatChannelType type, string msg)
    {
        if (msg.Length >= 1 && msg.StartsWith("."))
        {
            string commend = "";
            commend = msg.Remove(0, 1);
            if (string.IsNullOrEmpty(commend) || string.IsNullOrEmpty(commend))
            {
                return;
            }

            string[] paras = commend.Split(new string[] { " " }, System.StringSplitOptions.None);

            if (paras.Length <= 0)
            {
                return;
            }

            if (mParamList == null)
            {
                mParamList = new ArrayList();
            }
            else
            {
                mParamList.Clear();
            }

            for (int i = 1; i < paras.Length; i++)
            {
                mParamList.Add(paras[i]);
            }

            if (!GMHandler.Instance.DoHandler(PlayerController.Instance.GetControlObj(), paras[0], mParamList))
            {
                GMActionParam param = new GMActionParam();
                param.Cmd = commend;

                Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_GM, param);
            }
        }
        else
        {
            //系统频道不允许玩家发送
            if (type == ChatChannelType.ChannelType_System)
            {
                return;
            }

            PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>();
            if (module == null)
            {
                return;
            }

            MainFlow mainFlow = GameApp.Instance.GetCurFlow() as MainFlow;
            if (mainFlow != null)
            {
                CSChatMessage packet = new CSChatMessage();
                packet.channel_type = (int)type;
                packet.name         = module.GetName();
                packet.msg          = msg;

                mainFlow.SendToChatServer(packet);
            }
            Role role = PlayerController.Instance.GetControlObj() as Role;
            if (role != null)
            {
                role.Talk(msg);
            }
        }
    }