protected override void OnRequest(request_msg_gm request, object userdata) { GMActionParam gmParam = userdata as GMActionParam; if (gmParam == null) { return; } request.cmd = gmParam.Cmd; }
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); } } }