예제 #1
0
        // 根据类型获得排名
        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);
        }
예제 #2
0
        // 计算某个类型数据的场均平均分
        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);
        }