public void Process(Message_Body info) { Data_UserLogin_R data = Globals.ToObject <Data_UserLogin_R>(info.body); if (data != null) { if (data.result) { Globals.It.DestoryDengluView(); Globals.It.MainPlayer.proMain.SetLogin(data.data); // 保存到Gloabs去 if (!data.data.hasRole) // 第一次创建角色 { Globals.It.ShowKaiChangGifView(); // 开场白 Globals.It.HideWaiting(); } else { Globals.It.ShowEnterGameView(); } } else { Globals.It.HideWaiting(); Globals.It.ShowWarn(Const_ITextID.Msg_Tishi, 14, null); } } }
public void process(Message_Body body) { Debug.LogWarning(string.Format(":::{0}:{1}", body.iCommand, System.Text.Encoding.UTF8.GetString(body.body))); List <IProtocol> list = getProtocol(body.iCommand); if (list != null && list.Count > 0) { list.ForEach(protocol => { protocol.Process(body); });//由子协议来处理具体问题 } }
// 处理消息,取得回调方法并执行方法 public void Process(Message_Body body) { Debug.LogWarning(string.Format(":::{0}:{1}", body.iCommand, System.Text.Encoding.UTF8.GetString(body.body))); List <IProtocol> vars = GetProtocol(body.iCommand); if (vars != null && vars.Count > 0) { vars.ForEach(protocol => { protocol.Process(body); }); // lambda } }
public void Process(Message_Body info) { Data_RoleEnterGame_R data = Globals.ToObject <Data_RoleEnterGame_R>(info.body); if (data != null) { if (data.result) { Globals.It.MainPlayer.proMain.SetRoleEnterGame(data.data); Globals.It.ShowMainView(); } else { Globals.It.HideWaiting(); Globals.It.ShowWarn(Const_ITextID.Msg_Tishi, data.message, null); } } }
public static MessageData UnParse (byte[] buffer) { int iHead = 13; { Message_Head head = UnParseHead(buffer); if (head != null && head.Length <= (buffer.Length - iHead)) { Message_Body body = new Message_Body(); System.Array.Reverse(buffer, 13, 4); body.iCommand = System.BitConverter.ToInt32(buffer, 13); body.body = new byte[head.Length - 4]; System.Array.Copy(buffer, iHead + 4, body.body, 0, body.body.Length); MessageData data = new MessageData(); data.head = head; data.body = body; return data; } } return null; }
public static MessageData UnParse(byte[] buffer) { int iHead = iHL; { Message_Head head = UnParseHead(buffer); if (head != null && head.Length <= (buffer.Length - iHead)) { Message_Body body = new Message_Body(); body.body = new byte[head.Length]; System.Array.Copy(buffer, iHL, body.body, 0, head.Length); MessageData data = new MessageData(); data.head = head; data.body = body; return(data); } } return(null); }
public void Process(Message_Body info) { Data_MapData_R data = Globals.ToObject <Data_MapData_R>(info.body); Globals.It.HideWaiting(); if (data != null) { if (data.result) { Globals.It.MainPlayer.proMain.cityList = data.data.citylist; Globals.It.MainPlayer.proMain.bNeedRefresh = false; Globals.It.MainViewRefresh(); } else { Globals.It.ShowWarn(Const_ITextID.Msg_Tishi, data.message, null); } } }
public void Process(Message_Body info) { Data_CreateRole_R data = Globals.ToObject <Data_CreateRole_R>(info.body); Globals.It.HideWaiting(); if (data != null) { if (data.result) { Globals.It.HideInput(); Globals.It.MainPlayer.proMain.SetCreateRole(data.data); // 保存到Global去 Globals.It.DestoryCreateRoleView(); Globals.It.ShowEnterGameView(); } else { Globals.It.ShowWarn(Const_ITextID.Msg_Tishi, Globals.It.ErrorHintMgr.GetErrorString(data.message), null); } } }
public static MessageData UnParse(byte[] buffer) { int iHead = 13; { Message_Head head = UnParseHead(buffer); if (head != null && head.Length <= (buffer.Length - iHead)) { Message_Body body = new Message_Body(); System.Array.Reverse(buffer, 13, 4); body.iCommand = System.BitConverter.ToInt32(buffer, 13); body.body = new byte[head.Length - 4]; System.Array.Copy(buffer, iHead + 4, body.body, 0, body.body.Length); MessageData data = new MessageData(); data.head = head; data.body = body; return(data); } } return(null); }
/// <summary> /// 读取字节数据消息体信息 /// </summary> /// <param name="buffer"></param> /// <returns></returns> public static MessageData UnParse(byte[] buffer) { int iHead = MessageConst.HEADER_LENGTH; { Message_Head head = UnParseHead(buffer); if (head != null && head.Length == buffer.Length) { Message_Body body = new Message_Body(); System.Array.Reverse(buffer, iHead, 4); body.iCommand = System.BitConverter.ToInt32(buffer, iHead); body.buffBytes = new byte[head.Length - 4]; System.Array.Copy(buffer, iHead + 4, body.buffBytes, 0, body.buffBytes.Length); MessageData data = new MessageData(); data.head = head; data.body = body; return(data); } } return(null); }
// 将消息体解析出来 public static MessageData UnParse(byte[] buffer) { int iHead = 13; { Message_Head head = UnParseHead(buffer); if (head != null && head.Length <= (buffer.Length - iHead)) { Message_Body body = new Message_Body(); System.Array.Reverse(buffer, 13, 4); // 13 14 15 16 这4位翻转,将网络大端序转换成C#的小端序 body.iCommand = System.BitConverter.ToInt32(buffer, 13); body.body = new byte[head.Length - 4]; // 消息体长度Length = command(int型4位) + msg长度(byte[]) System.Array.Copy(buffer, iHead + 4, body.body, 0, body.body.Length); // 获得msg MessageData data = new MessageData(); data.head = head; data.body = body; return(data); } } return(null); }
public void Process(Message_Body info) { Data_MapBattle_R data = Globals.ToObject <Data_MapBattle_R>(info.body); if (data != null) { if (data.result) { Globals.It.DestoryMainView(); Globals.It.HideWaiting(); Globals.It.ShowBattleRecordView(data); } else { Globals.It.HideWaiting(); Globals.It.ShowWarn(Const_ITextID.Msg_Tishi, data.message, null); } } else { Globals.It.HideWaiting(); } }
/// <summary> /// ��ȡ�ֽ�������Ϣ����Ϣ /// </summary> /// <param name="buffer"></param> /// <returns></returns> public static MessageData UnParse(byte[] buffer) { int iHead = MessageConst.HEADER_LENGTH; { Message_Head head = UnParseHead(buffer); if (head != null && head.Length == buffer.Length) { Message_Body body = new Message_Body(); System.Array.Reverse(buffer, iHead, 4); body.iCommand = System.BitConverter.ToInt32(buffer, iHead); body.buffBytes = new byte[head.Length - 4]; System.Array.Copy(buffer, iHead + 4, body.buffBytes, 0, body.buffBytes.Length); MessageData data = new MessageData(); data.head = head; data.body = body; return data; } } return null; }