Beispiel #1
0
    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);
            }
        }
    }
Beispiel #2
0
    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); });//由子协议来处理具体问题
        }
    }
Beispiel #3
0
    // 处理消息,取得回调方法并执行方法
    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);
            }
        }
    }
Beispiel #5
0
	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;
	}
Beispiel #6
0
    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);
    }
Beispiel #7
0
    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);
            }
        }
    }
Beispiel #9
0
    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);
    }
Beispiel #10
0
    /// <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);
    }
Beispiel #11
0
    // 将消息体解析出来
    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();
        }
    }
Beispiel #13
0
 /// <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;
 }