public KFRankData HRankData(int rankType, int roleID) { KFRankData result; lock (this._lockRank) { if (this._rankTopDic.ContainsKey(rankType)) { List <KFRankData> list = this._rankTopDic[rankType]; KFRankData data = list.Find((KFRankData _x) => _x != null && _x.RoleID == roleID); if (data != null) { return(data); } } if (this._rankDic.ContainsKey(rankType)) { Dictionary <int, KFRankData> dic = this._rankDic[rankType]; if (dic.ContainsKey(roleID)) { return(dic[roleID]); } } else { this._rankDic.Add(rankType, new Dictionary <int, KFRankData>()); } IAllyService kuaFuService = this.GetKuaFuService(false); if (null == kuaFuService) { result = null; } else { try { KFRankData data = kuaFuService.RankRole(this._ClientInfo.ServerId, rankType, roleID); if (data != null) { this._rankDic[rankType].Add(roleID, data); } return(data); } catch (Exception ex) { this.ResetKuaFuService(); } result = null; } } return(result); }