Example #1
0
    public override void OnResponse(string data)
    {
        string[]   strs       = data.Split('-');
        string[]   strs2      = strs[0].Split(',');
        ReturnCode returnCode = (ReturnCode)int.Parse(strs2[0]);
        UserData   ud1        = null;
        UserData   ud2        = null;

        if (returnCode == ReturnCode.Success)
        {
            string[] udStrArray = strs[1].Split('|');
            ud1 = new UserData(udStrArray[0]);
            ud2 = new UserData(udStrArray[1]);

            RoleType roleType = (RoleType)int.Parse(strs2[1]);
            facade.SetCurrentRoleType(roleType);
        }
        roomListPanel.OnJoinResponse(returnCode, ud1, ud2);
    }
    public override void OnResponse(string data)
    {
        string[]   strs       = data.Split('-');
        string[]   strs2      = strs[0].Split(',');
        ReturnCode returnCode = (ReturnCode)int.Parse(strs2[0]);
        UserData   ud1        = null;
        UserData   ud2        = null;

        if (returnCode == ReturnCode.Success)
        {
            string[] udstr = strs[1].Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
            ud1 = new UserData(udstr[0]);
            ud2 = new UserData(udstr[1]);
            RoleType roleType = (RoleType)int.Parse(strs2[1]);
            gameFacade.SetRoleType(roleType);
        }
        base.OnResponse(data);
        roomListPanel.OnJoinResponse(returnCode, ud1, ud2);
    }
Example #3
0
    /// <summary>
    /// 响应服务器端响应
    /// </summary>
    /// <param name="data"></param>
    public override void OnResponse(string data)
    {
        JsonData   jsonData   = JsonMapper.ToObject(data);
        ReturnCode returnCode = (ReturnCode)int.Parse(jsonData["returnCode"].ToString());//获取到返回码
        RoleType   roleType;
        UserData   ud1 = null;
        UserData   ud2 = null;

        if (returnCode == ReturnCode.Success)                                                    //只有当成功加入房间时才可以取到房间中的玩家信息
        {
            string          roomDataJson = jsonData["roomData"].ToString();                      //这roomData对应的是一个Json字符串,里面存储的是list集合数据
            List <UserData> roomData     = JsonMapper.ToObject <List <UserData> >(roomDataJson); //根据上面得到的json字符串在解析成对应的list集合
            ud1 = roomData[0];                                                                   //第一个为房主信息
            ud2 = roomData[1];                                                                   //第二个为另一个玩家信息
            //成功加入后,才能获取到自身的角色类型
            roleType = (RoleType)int.Parse(jsonData["roleType"].ToString());
            gameFacade.SetCurrentRoleType(roleType);//设置自身的角色类型
        }
        //ui面板对响应信息作相应处理
        roomListPanel.OnJoinResponse(returnCode, ud1, ud2);
    }
    public override void OnResponse(string data)
    {
        string[]   strs       = data.Split('-');
        string[]   strs2      = strs[0].Split(',');
        ReturnCode returnCode = (ReturnCode)int.Parse(strs2[0]);
        //聲明玩家
        UserData ud1 = null; //房間內玩家1(自己)
        UserData ud2 = null; //房間內玩家2(敵人)

        if (returnCode == ReturnCode.Success)
        {   //定義玩家
            //new出來
            string[] udStrArray = strs[1].Split('|');
            ud1 = new UserData(udStrArray[0]);
            ud2 = new UserData(udStrArray[1]);

            RoleType roleType = (RoleType)int.Parse(strs2[1]);
            facade.SetCurrentRoleType(roleType);
        }
        //Request回應,叫UI面板執行函式,把兩位玩家資訊呈現在面板上
        roomListPanel.OnJoinResponse(returnCode, ud1, ud2);
    }
Example #5
0
    //处理加入房间反馈
    public override void OnResponse(string data)
    {
        //将反馈码、分配的角色类型,房间用户信息和地图信息分割,strs1[0]存储反馈码和分配角色类型,strs[1]存储房间用户信息,strs[2]存储地图信息
        string[] strs1 = data.Split('-');
        //将反馈码与分配角色类型分割,strs2[0]存储反馈码,strs2[1]存储分配角色类型
        string[]   strs2         = strs1[0].Split(',');
        ReturnCode returnCode    = (ReturnCode)int.Parse(strs2[0]);
        UserData   localUserData = null;
        UserData   enemyUserData = null;

        if (returnCode == ReturnCode.Success)
        {
            //将房间中各个成员的信息分割,并存储到UserData对象中
            string[] userStrArray = strs1[1].Split('|');
            enemyUserData = new UserData(userStrArray[0]);
            localUserData = new UserData(userStrArray[1]);
            RoleType roleType = (RoleType)int.Parse(strs2[1]);
            //将服务器分配的角色类型设置到本地
            focade.SetCurrentRoleTypeAndMapIndex(roleType, int.Parse(strs1[2]));
        }
        //对加入房间反馈做加入房间处理
        roomListPanel.OnJoinResponse(returnCode, localUserData, enemyUserData);
    }