// 根据类型获得排名 public int getMetalScoreLevel(War.ERecord_Data_Type dataType, ref int nSelfSocre) { ulong ulSelfID = (ulong)EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID); nSelfSocre = 0; if (endRecordInfoArray.ContainsKey(ulSelfID)) { nSelfSocre = endRecordInfoArray[ulSelfID].data.gzAllData[(int)dataType]; } int nLevel = 1; foreach (KeyValuePair <ulong, swar_flaunt_result> kvp in endRecordInfoArray) { ulong ulPdbid = kvp.Key; if (ulPdbid == ulSelfID) { continue; } if (nLevel >= (int)UMedalScore.EN_PlayerGrade.ENPLAYERGRADE_MAX) { break; } if (dataType != War.ERecord_Data_Type.ERDT_DEADNUM) { nLevel = kvp.Value.data.gzAllData[(int)dataType] > nSelfSocre ? (++nLevel) : nLevel; } else if (dataType == War.ERecord_Data_Type.ERDT_DEADNUM) { nLevel = kvp.Value.data.gzAllData[(int)dataType] < nSelfSocre ? (++nLevel) : nLevel; } } return(nLevel); }
// 计算某个类型数据的场均平均分 public int getMeanScoreOneType(War.ERecord_Data_Type dataType) { int nSumScore = 0; foreach (KeyValuePair <ulong, swar_flaunt_result> kvp in endRecordInfoArray) { ulong ulPdbid = kvp.Key; nSumScore += kvp.Value.data.gzAllData[(int)dataType]; } int nPlayerCount = endRecordInfoArray.Count(); if (nPlayerCount == 0) { return(0); } return(nSumScore / nPlayerCount); }