public override bool Handle(OperationResponse operationResponse) { if (base.Handle(operationResponse)) { long[] facebookIDs = (long[])operationResponse.Parameters[(byte)GetChallengePlayerListResponseParameterCode.FacebookIDArray]; int[] levels = (int[])operationResponse.Parameters[(byte)GetChallengePlayerListResponseParameterCode.LevelArray]; int[] nestLevels = (int[])operationResponse.Parameters[(byte)GetChallengePlayerListResponseParameterCode.NestLevelArray]; ChallengePlayerInfo[] infos = new ChallengePlayerInfo[facebookIDs.Length]; for (int i = 0; i < facebookIDs.Length; i++) { infos[i].facebookID = facebookIDs[i]; infos[i].level = levels[i]; infos[i].nestLevel = nestLevels[i]; } IANTGame.ResponseManager.FetchDataResponseManager.CallGetChallengePlayerListResponse(infos); return(true); } else { return(false); } }
public ChallengePlayerInfo FetchPlayerInfoWithFacebookID(long facebookID) { try { ChallengePlayerInfo info = new ChallengePlayerInfo(); if (connection.State == System.Data.ConnectionState.Closed) { connection.Open(); } using (MySqlCommand cmd = new MySqlCommand("SELECT FacebookID, Level, (Duration+Speed+Resistant+Population+Sensitivity+1)as NestLevel FROM player,nest WHERE FacebookID = @fbid AND player.UniqueID = nest.PlayerID LIMIT 1", connection)) { cmd.Parameters.AddWithValue("@fbid", facebookID); using (MySqlDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { info.facebookID = reader.GetInt64(0); info.level = reader.GetInt32(1); info.nestLevel = reader.GetInt32(2); } return(info); } } } catch (Exception ex) { throw ex; } finally { if (connection.State == System.Data.ConnectionState.Open) { connection.Close(); } } }
private void OnGetChallengePlayerListResponseAction(ChallengePlayerInfo[] infos) { for (int i = 0; i < infos.Length; i++) { if (playerInfoDictionary.ContainsKey(infos[i].facebookID)) { playerInfoDictionary[infos[i].facebookID] = new ChallengePlayerInfo { facebookID = infos[i].facebookID, photo = playerInfoDictionary[infos[i].facebookID].photo, name = playerInfoDictionary[infos[i].facebookID].name, level = infos[i].level, nestLevel = infos[i].nestLevel }; } else { long fbID = infos[i].facebookID; playerInfoDictionary.Add(fbID, infos[i]); facebookAction.GetUserName(fbID, (result) => { if (result != null) { ChallengePlayerInfo info = playerInfoDictionary[fbID]; if (result.ResultDictionary.ContainsKey("name")) { playerInfoDictionary[fbID] = new ChallengePlayerInfo { facebookID = fbID, photo = info.photo, name = (string)result.ResultDictionary["name"], level = info.level, nestLevel = info.nestLevel }; challengeModePanelUI.UpdateChallengePlayerList(playerInfoDictionary.Values.ToList()); } } }); facebookAction.GetUserPhoto(fbID, (result) => { if (string.IsNullOrEmpty(result.Error) && result.Texture != null) { ChallengePlayerInfo info = playerInfoDictionary[fbID]; if (result.Texture != null) { playerInfoDictionary[fbID] = new ChallengePlayerInfo { facebookID = fbID, photo = result.Texture, name = info.name, level = info.level, nestLevel = info.nestLevel }; challengeModePanelUI.UpdateChallengePlayerList(playerInfoDictionary.Values.ToList()); } } }); } } challengeModePanelUI.UpdateChallengePlayerList(playerInfoDictionary.Values.ToList()); }