Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 2
0
 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();
         }
     }
 }
Exemplo n.º 3
0
 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());
 }