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); }
/// <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); }
//处理加入房间反馈 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); }