Esempio n. 1
0
        private int GetKVDataCount(RES_STATISTIC_SETTLE_DATA_TYPE type)
        {
            CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

            if (masterRoleInfo != null)
            {
                for (int i = 0; i < masterRoleInfo.pvpDetail.stKVDetail.dwNum; i++)
                {
                    COMDT_STATISTIC_KEY_VALUE_INFO comdt_statistic_key_value_info = masterRoleInfo.pvpDetail.stKVDetail.astKVDetail[i];
                    if (((RES_STATISTIC_SETTLE_DATA_TYPE)comdt_statistic_key_value_info.dwKey) == type)
                    {
                        return((int)comdt_statistic_key_value_info.dwValue);
                    }
                }
            }
            return(0);
        }
Esempio n. 2
0
        private int GetKVDataCount(RES_STATISTIC_SETTLE_DATA_TYPE type)
        {
            int       result         = 0;
            CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

            if (masterRoleInfo == null)
            {
                return(result);
            }
            int num = 0;

            while ((long)num < (long)((ulong)masterRoleInfo.pvpDetail.stKVDetail.dwNum))
            {
                COMDT_STATISTIC_KEY_VALUE_INFO cOMDT_STATISTIC_KEY_VALUE_INFO = masterRoleInfo.pvpDetail.stKVDetail.astKVDetail[num];
                if (cOMDT_STATISTIC_KEY_VALUE_INFO.dwKey == (uint)type)
                {
                    result = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue;
                    break;
                }
                num++;
            }
            return(result);
        }
Esempio n. 3
0
        public void ConvertServerDetailData(CSDT_ACNT_DETAIL_INFO detailInfo)
        {
            this.isMasterData = false;
            this.ResetData();
            this._doubleKillCount  = 0;
            this._trippleKillCount = 0;
            this._quataryKillCount = 0;
            this._pentaKillCount   = 0;
            this._holyShitCount    = 0;
            this._mvpCnt           = 0;
            this._loseMvpCount     = 0;
            if (detailInfo == null)
            {
                return;
            }
            this._playerName               = StringHelper.UTF8BytesToString(ref detailInfo.szAcntName);
            this.m_personSign              = StringHelper.UTF8BytesToString(ref detailInfo.szSignatureInfo);
            this.m_uuid                    = detailInfo.ullUid;
            this.m_iLogicWorldId           = detailInfo.iLogicWorldId;
            this.m_vipInfo                 = new SCPKG_GAME_VIP_NTF();
            this.m_vipInfo.stGameVipClient = detailInfo.stGameVip;
            this._playerHeadUrl            = Singleton <ApolloHelper> .GetInstance().ToSnsHeadUrl(ref detailInfo.szOpenUrl);

            this._playerLevel = detailInfo.dwLevel;
            ResAcntExpInfo dataByKey = GameDataMgr.acntExpDatabin.GetDataByKey(this._playerLevel);

            this._playerNeedExp           = dataByKey.dwNeedExp;
            this._playerExp               = detailInfo.dwExp;
            this.creditScore              = detailInfo.dwCreditValue;
            this.sumDelCreditValue        = detailInfo.iSumDelCreditValue * -1;
            this.mostDelCreditType        = detailInfo.dwMostDelCreditType;
            this._power                   = detailInfo.dwPower;
            this._pvpLevel                = detailInfo.dwPvpLevel;
            this._playerPvpExp            = detailInfo.dwPvpExp;
            this._gender                  = detailInfo.bGender;
            this._privilegeType           = detailInfo.bPrivilege;
            this._rankGrade               = detailInfo.bGradeOfRank;
            this._rankHistoryHighestGrade = detailInfo.bMaxGradeOfRank;
            this._rankClass               = detailInfo.dwCurClassOfRank;
            this._rankHistoryHighestClass = detailInfo.stRankInfo.dwTopClassOfRank;
            this.GuildName                = StringHelper.UTF8BytesToString(ref detailInfo.stGuildInfo.szGuildName);
            this.GuildState               = detailInfo.stGuildInfo.bGuildState;
            this.qqVipMask                = detailInfo.dwQQVIPMask;
            int num = 0;

            while ((long)num < (long)((ulong)detailInfo.stStatistic.stKVDetail.dwNum))
            {
                COMDT_STATISTIC_KEY_VALUE_INFO cOMDT_STATISTIC_KEY_VALUE_INFO = detailInfo.stStatistic.stKVDetail.astKVDetail[num];
                RES_STATISTIC_SETTLE_DATA_TYPE dwKey = cOMDT_STATISTIC_KEY_VALUE_INFO.dwKey;
                switch (dwKey)
                {
                case 13:
                    this._mvpCnt = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue;
                    break;

                case 14:
                    this._loseMvpCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue;
                    break;

                case 15:
                    this._holyShitCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue;
                    break;

                case 16:
                    this._doubleKillCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue;
                    break;

                case 17:
                    this._trippleKillCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue;
                    break;

                default:
                    if (dwKey != 27)
                    {
                        if (dwKey == 28)
                        {
                            this._pentaKillCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue;
                        }
                    }
                    else
                    {
                        this._quataryKillCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue;
                    }
                    break;
                }
                num++;
            }
            this._5V5TotalCount           = (int)detailInfo.stStatistic.stFiveVsFiveInfo.dwTotalNum;
            this._5V5WinCount             = (int)detailInfo.stStatistic.stFiveVsFiveInfo.dwWinNum;
            this._3V3TotalCount           = (int)detailInfo.stStatistic.stThreeVsThreeInfo.dwTotalNum;
            this._3V3WinCount             = (int)detailInfo.stStatistic.stThreeVsThreeInfo.dwWinNum;
            this._2V2TotalCount           = (int)detailInfo.stStatistic.stTwoVsTwoInfo.dwTotalNum;
            this._2V2WinCount             = (int)detailInfo.stStatistic.stTwoVsTwoInfo.dwWinNum;
            this._1V1TotalCount           = (int)detailInfo.stStatistic.stOneVsOneInfo.dwTotalNum;
            this._1V1WinCount             = (int)detailInfo.stStatistic.stOneVsOneInfo.dwWinNum;
            this._guildTotalCount         = (int)detailInfo.stStatistic.stGuildMatch.dwTotalNum;
            this._guildWinCount           = (int)detailInfo.stStatistic.stGuildMatch.dwWinNum;
            this._vsAiTotalCount          = (int)detailInfo.stStatistic.stVsMachineInfo.dwTotalNum;
            this._vsAiWinCount            = (int)detailInfo.stStatistic.stVsMachineInfo.dwWinNum;
            this._rankTotalCount          = (int)detailInfo.stStatistic.stLadderInfo.dwTotalNum;
            this._rankWinCount            = (int)detailInfo.stStatistic.stLadderInfo.dwWinNum;
            this._entertainmentTotalCount = (int)detailInfo.stStatistic.stEntertainmentInfo.dwTotalNum;
            this._entertainmentWinCount   = (int)detailInfo.stStatistic.stEntertainmentInfo.dwWinNum;
            this._heroCnt  = (int)detailInfo.stMostUsedHero.dwTotalHeroNum;
            this._skinCnt  = (int)detailInfo.stMostUsedHero.dwTotalSkinNum;
            this._isOnLine = (detailInfo.bIsOnline != 0);
            if (this._mostUsedHeroList == null)
            {
                this._mostUsedHeroList = new ListView <COMDT_MOST_USED_HERO_INFO>();
            }
            else
            {
                this._mostUsedHeroList.Clear();
            }
            int num2 = (int)Mathf.Min(detailInfo.stMostUsedHero.dwHeroNum, (float)detailInfo.stMostUsedHero.astHeroInfoList.Length);

            for (int i = 0; i < num2; i++)
            {
                this._mostUsedHeroList.Add(detailInfo.stMostUsedHero.astHeroInfoList[i]);
            }
            this.SortMostUsedHeroList();
            if (detailInfo.stHonorInfo == null || detailInfo.stHonorInfo.bHonorCnt < 6)
            {
                Singleton <CRoleInfoManager> .get_instance().InsertHonorOnDuplicateUpdate(ref this._honorDic, 1, 0);

                Singleton <CRoleInfoManager> .get_instance().InsertHonorOnDuplicateUpdate(ref this._honorDic, 2, 0);

                Singleton <CRoleInfoManager> .get_instance().InsertHonorOnDuplicateUpdate(ref this._honorDic, 6, 0);

                Singleton <CRoleInfoManager> .get_instance().InsertHonorOnDuplicateUpdate(ref this._honorDic, 4, 0);

                Singleton <CRoleInfoManager> .get_instance().InsertHonorOnDuplicateUpdate(ref this._honorDic, 5, 0);

                Singleton <CRoleInfoManager> .get_instance().InsertHonorOnDuplicateUpdate(ref this._honorDic, 3, 0);
            }
            if (detailInfo.stHonorInfo != null)
            {
                for (int j = 0; j < (int)detailInfo.stHonorInfo.bHonorCnt; j++)
                {
                    COMDT_HONORINFO cOMDT_HONORINFO = detailInfo.stHonorInfo.astHonorInfo[j];
                    switch (cOMDT_HONORINFO.iHonorID)
                    {
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                    case 6:
                        Singleton <CRoleInfoManager> .get_instance().InsertHonorOnDuplicateUpdate(ref this._honorDic, cOMDT_HONORINFO.iHonorID, cOMDT_HONORINFO.iHonorPoint);

                        break;
                    }
                }
                COMDT_HONORINFO cOMDT_HONORINFO2 = new COMDT_HONORINFO();
                if (this._honorDic.TryGetValue(detailInfo.stHonorInfo.iCurUseHonorID, ref cOMDT_HONORINFO2))
                {
                    if (cOMDT_HONORINFO2.iHonorLevel > 0)
                    {
                        this._selectedHonorId = detailInfo.stHonorInfo.iCurUseHonorID;
                    }
                    else
                    {
                        this._selectedHonorId = 0;
                    }
                }
            }
            this._geiLiDuiYou     = (int)detailInfo.stLikeNum.dwTeammateNum;
            this._keJingDuiShou   = (int)detailInfo.stLikeNum.dwOpponentNum;
            this._haveExtraCoin   = false;
            this._haveExtraExp    = false;
            this.pvpExtraDetail   = detailInfo.stStatistic.stMultiExtraDetail;
            this.pvpAbilityDetail = detailInfo.stStatistic.stRadarDetail;
            CAchieveInfo2 achieveInfo = CAchieveInfo2.GetAchieveInfo(detailInfo.iLogicWorldId, detailInfo.ullUid, false);

            achieveInfo.OnServerAchieveInfo(detailInfo.astShowAchievement, detailInfo.dwAchieveMentScore);
            this._trophyRewardInfoLevel = achieveInfo.LastDoneTrophyRewardInfo.Cfg.dwTrophyLvl;
            this._trophyRank            = achieveInfo.GetWorldRank();
            Array.Copy(achieveInfo.SelectedTrophies, this._selectedTrophies, achieveInfo.SelectedTrophies.Length);
            this._mentorInfo = Utility.DeepCopyByReflection <COMDT_ACNT_MASTER_INFO>(detailInfo.stAcntMasterInfo);
        }
Esempio n. 4
0
        public void ConvertRoleInfoData(CRoleInfo roleInfo)
        {
            if (roleInfo == null)
            {
                this.ResetData();
                return;
            }
            this.ResetData();
            this.isMasterData    = (roleInfo == Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo());
            this.m_uuid          = roleInfo.playerUllUID;
            this.m_iLogicWorldId = MonoSingleton <TdirMgr> .GetInstance().SelectedTdir.logicWorldID;

            this.m_vipInfo                = roleInfo.GetNobeInfo();
            this._gender                  = roleInfo.m_gender;
            this._privilegeType           = roleInfo.m_privilegeType;
            this._playerName              = roleInfo.Name;
            this.m_personSign             = roleInfo.PersonSign;
            this._playerHeadUrl           = roleInfo.HeadUrl;
            this._playerLevel             = roleInfo.Level;
            this._playerExp               = roleInfo.Exp;
            this._playerNeedExp           = roleInfo.NeedExp;
            this._power                   = roleInfo.BattlePower;
            this._pvpLevel                = roleInfo.PvpLevel;
            this._playerPvpExp            = roleInfo.PvpExp;
            this._rankGrade               = roleInfo.m_rankGrade;
            this._rankHistoryHighestGrade = roleInfo.m_rankHistoryHighestGrade;
            this._rankClass               = roleInfo.m_rankClass;
            this._rankHistoryHighestClass = roleInfo.m_rankHistoryHighestClass;
            this.GuildName                = roleInfo.m_baseGuildInfo.name;
            this.GuildState               = roleInfo.m_baseGuildInfo.guildState;
            this.creditScore              = roleInfo.creditScore;
            this.sumDelCreditValue        = roleInfo.sumDelCreditValue;
            this.mostDelCreditType        = roleInfo.mostDelCreditType;
            int num = 0;

            while ((long)num < (long)((ulong)roleInfo.pvpDetail.stKVDetail.dwNum))
            {
                COMDT_STATISTIC_KEY_VALUE_INFO cOMDT_STATISTIC_KEY_VALUE_INFO = roleInfo.pvpDetail.stKVDetail.astKVDetail[num];
                RES_STATISTIC_SETTLE_DATA_TYPE dwKey = cOMDT_STATISTIC_KEY_VALUE_INFO.dwKey;
                switch (dwKey)
                {
                case 13:
                    this._mvpCnt = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue;
                    break;

                case 14:
                    this._loseMvpCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue;
                    break;

                case 15:
                    this._holyShitCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue;
                    break;

                case 16:
                    this._doubleKillCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue;
                    break;

                case 17:
                    this._trippleKillCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue;
                    break;

                default:
                    if (dwKey != 27)
                    {
                        if (dwKey == 28)
                        {
                            this._pentaKillCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue;
                        }
                    }
                    else
                    {
                        this._quataryKillCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue;
                    }
                    break;
                }
                num++;
            }
            this._5V5TotalCount           = (int)roleInfo.pvpDetail.stFiveVsFiveInfo.dwTotalNum;
            this._5V5WinCount             = (int)roleInfo.pvpDetail.stFiveVsFiveInfo.dwWinNum;
            this._3V3TotalCount           = (int)roleInfo.pvpDetail.stThreeVsThreeInfo.dwTotalNum;
            this._3V3WinCount             = (int)roleInfo.pvpDetail.stThreeVsThreeInfo.dwWinNum;
            this._2V2TotalCount           = (int)roleInfo.pvpDetail.stTwoVsTwoInfo.dwTotalNum;
            this._2V2WinCount             = (int)roleInfo.pvpDetail.stTwoVsTwoInfo.dwWinNum;
            this._1V1TotalCount           = (int)roleInfo.pvpDetail.stOneVsOneInfo.dwTotalNum;
            this._1V1WinCount             = (int)roleInfo.pvpDetail.stOneVsOneInfo.dwWinNum;
            this._guildTotalCount         = (int)roleInfo.pvpDetail.stGuildMatch.dwTotalNum;
            this._guildWinCount           = (int)roleInfo.pvpDetail.stGuildMatch.dwWinNum;
            this._vsAiTotalCount          = (int)roleInfo.pvpDetail.stVsMachineInfo.dwTotalNum;
            this._vsAiWinCount            = (int)roleInfo.pvpDetail.stVsMachineInfo.dwWinNum;
            this._rankTotalCount          = (int)roleInfo.pvpDetail.stLadderInfo.dwTotalNum;
            this._rankWinCount            = (int)roleInfo.pvpDetail.stLadderInfo.dwWinNum;
            this._entertainmentTotalCount = (int)roleInfo.pvpDetail.stEntertainmentInfo.dwTotalNum;
            this._entertainmentWinCount   = (int)roleInfo.pvpDetail.stEntertainmentInfo.dwWinNum;
            this._heroCnt  = roleInfo.GetHaveHeroCount(false);
            this._skinCnt  = roleInfo.GetHeroSkinCount(false);
            this._isOnLine = true;
            if (this._mostUsedHeroList == null)
            {
                this._mostUsedHeroList = new ListView <COMDT_MOST_USED_HERO_INFO>();
            }
            else
            {
                this._mostUsedHeroList.Clear();
            }
            int num2 = (int)Mathf.Min(roleInfo.MostUsedHeroDetail.dwHeroNum, (float)roleInfo.MostUsedHeroDetail.astHeroInfoList.Length);

            for (int i = 0; i < num2; i++)
            {
                this._mostUsedHeroList.Add(roleInfo.MostUsedHeroDetail.astHeroInfoList[i]);
            }
            this.SortMostUsedHeroList();
            this._selectedHonorId = roleInfo.selectedHonorID;
            Dictionary <int, COMDT_HONORINFO> .Enumerator enumerator = roleInfo.honorDic.GetEnumerator();
            while (enumerator.MoveNext())
            {
                KeyValuePair <int, COMDT_HONORINFO> current = enumerator.get_Current();
                int key = current.get_Key();
                Dictionary <int, COMDT_HONORINFO>   arg_47A_0 = this._honorDic;
                KeyValuePair <int, COMDT_HONORINFO> current2  = enumerator.get_Current();
                if (!arg_47A_0.ContainsKey(current2.get_Key()))
                {
                    Dictionary <int, COMDT_HONORINFO> arg_49C_0 = this._honorDic;
                    int arg_49C_1 = key;
                    KeyValuePair <int, COMDT_HONORINFO> current3 = enumerator.get_Current();
                    arg_49C_0.Add(arg_49C_1, current3.get_Value());
                }
            }
            this._geiLiDuiYou   = roleInfo.GeiLiDuiYou;
            this._keJingDuiShou = roleInfo.KeJingDuiShou;
            this._haveExtraCoin = roleInfo.HaveExtraCoin();
            if (this._haveExtraCoin)
            {
                this._coinExpireHours = roleInfo.GetCoinExpireHours();
                this._coinWinCount    = roleInfo.GetCoinWinCount();
            }
            this._haveExtraExp = roleInfo.HaveExtraExp();
            if (this._haveExtraExp)
            {
                this._expExpireHours = roleInfo.GetExpExpireHours();
                this._expWinCount    = roleInfo.GetExpWinCount();
            }
            this.pvpExtraDetail   = roleInfo.pvpDetail.stMultiExtraDetail;
            this.pvpAbilityDetail = roleInfo.pvpDetail.stRadarDetail;
            CAchieveInfo2 achieveInfo = CAchieveInfo2.GetAchieveInfo(roleInfo.logicWorldID, roleInfo.playerUllUID, false);

            if (achieveInfo != null)
            {
                if (achieveInfo.LastDoneTrophyRewardInfo != null)
                {
                    this._trophyRewardInfoLevel = achieveInfo.LastDoneTrophyRewardInfo.Cfg.dwTrophyLvl;
                }
                else
                {
                    DebugHelper.Assert(false, "cheieveInfo.LastDoneTrophyRewardInfo is null,wordID{0},uid{1}", new object[]
                    {
                        roleInfo.logicWorldID,
                        roleInfo.playerUllUID
                    });
                }
                this._trophyRank = achieveInfo.GetWorldRank();
                if (achieveInfo.SelectedTrophies != null)
                {
                    Array.Copy(achieveInfo.SelectedTrophies, this._selectedTrophies, achieveInfo.SelectedTrophies.Length);
                }
                else
                {
                    DebugHelper.Assert(false, "cheieveInfo.SelectedTrophies is null,wordID{0},uid{1}", new object[]
                    {
                        roleInfo.logicWorldID,
                        roleInfo.playerUllUID
                    });
                }
                this._mentorInfo = Utility.DeepCopyByReflection <COMDT_ACNT_MASTER_INFO>(roleInfo.m_mentorInfo);
            }
            else
            {
                DebugHelper.Assert(false, "cheieveInfo is null,wordID{0},uid{1}", new object[]
                {
                    roleInfo.logicWorldID,
                    roleInfo.playerUllUID
                });
            }
        }