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 = (COM_SNSGENDER)detailInfo.bGender; this._privilegeType = (COM_PRIVILEGE_TYPE)detailInfo.bPrivilege; this._rankGrade = detailInfo.bGradeOfRank; this._rankHistoryHighestGrade = detailInfo.bMaxGradeOfRank; this._rankClass = detailInfo.dwCurClassOfRank; this._rankHistoryHighestClass = detailInfo.stRankInfo.dwTopClassOfRank; this._wangZheCnt = detailInfo.dwWangZheCnt; this.GuildName = StringHelper.UTF8BytesToString(ref detailInfo.stGuildInfo.szGuildName); this.GuildState = (COM_PLAYER_GUILD_STATE)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 = (RES_STATISTIC_SETTLE_DATA_TYPE)cOMDT_STATISTIC_KEY_VALUE_INFO.dwKey; switch (dwKey) { case RES_STATISTIC_SETTLE_DATA_TYPE.RES_STATISTIC_SETTLE_DATA_TYPE_MVP_CNT: this._mvpCnt = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue; break; case RES_STATISTIC_SETTLE_DATA_TYPE.RES_STATISTIC_SETTLE_DATA_TYPE_LOSE_SOUL: this._loseMvpCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue; break; case RES_STATISTIC_SETTLE_DATA_TYPE.RES_STATISTIC_SETTLE_DATA_TYPE_GODLIKE_CNT: this._holyShitCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue; break; case RES_STATISTIC_SETTLE_DATA_TYPE.RES_STATISTIC_SETTLE_DATA_TYPE_DOUBLE_KILL_CNT: this._doubleKillCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue; break; case RES_STATISTIC_SETTLE_DATA_TYPE.RES_STATISTIC_SETTLE_DATA_TYPE_TRIPLE_KILL_CNT: this._trippleKillCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue; break; default: if (dwKey != RES_STATISTIC_SETTLE_DATA_TYPE.RES_STATISTIC_SETTLE_DATA_TYPE_QUATARY_KILL_CNT) { if (dwKey == RES_STATISTIC_SETTLE_DATA_TYPE.RES_STATISTIC_SETTLE_DATA_TYPE_PENTA_KILL_CNT) { 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> .instance.InsertHonorOnDuplicateUpdate(ref this._honorDic, 1, 0); Singleton <CRoleInfoManager> .instance.InsertHonorOnDuplicateUpdate(ref this._honorDic, 2, 0); Singleton <CRoleInfoManager> .instance.InsertHonorOnDuplicateUpdate(ref this._honorDic, 6, 0); Singleton <CRoleInfoManager> .instance.InsertHonorOnDuplicateUpdate(ref this._honorDic, 4, 0); Singleton <CRoleInfoManager> .instance.InsertHonorOnDuplicateUpdate(ref this._honorDic, 5, 0); Singleton <CRoleInfoManager> .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> .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); this.m_userPrivacyBits = detailInfo.ullUserPrivacyBits; this._socialCardInfo = Utility.DeepCopyByReflection <COMDT_FRIEND_CARD>(detailInfo.stFriendCard); }
private void SetFriendCardByWidgets(ref COMDT_FRIEND_CARD card, bool checkNeed = false) { int num = 1; if (card.dwDay == 0u || !checkNeed) { card.dwDay = (uint)this.m_searchVals[num][this.GetDropListSelectIdx(num)]; } num = 2; if (card.dwHour == 0u || !checkNeed) { card.dwHour = (uint)this.m_searchVals[num][this.GetDropListSelectIdx(num)]; } num = 0; if (card.dwSearchType == 0u || !checkNeed) { card.dwSearchType = (uint)this.m_searchVals[num][this.GetDropListSelectIdx(num)]; } num = 3; if (card.wHeroTypeOne == 0 || !checkNeed) { card.wHeroTypeOne = (ushort)this.m_searchVals[num][this.GetDropListSelectIdx(num)]; } num = 4; if (card.wHeroTypeTwo == 0 || !checkNeed) { card.wHeroTypeTwo = (ushort)this.m_searchVals[num][this.GetDropListSelectIdx(num)]; } if (!checkNeed) { num = 5; string text = this.m_searchStrings[num][this.GetDropListSelectIdx(num)]; num = 6; string text2 = "-"; if (this.m_searchStrings[num] != null) { text2 = this.m_searchStrings[num][this.GetDropListSelectIdx(num)]; } StringHelper.StringToUTF8Bytes(text + '~' + text2, ref card.szPlace); } InputField signInputText = this.GetSignInputText(); if (signInputText && (card.szDatingDeclaration.Length == 0 || !checkNeed)) { StringHelper.StringToUTF8Bytes(signInputText.get_text(), ref card.szDatingDeclaration); } CUIFormScript form = Singleton <CUIManager> .instance.GetForm(CPlayerInfoSystem.sPlayerInfoFormPath); if (form == null) { return; } GameObject widget = form.GetWidget(32); if (widget == null) { return; } Transform x = widget.transform.Find("pnlContainer/Social_Tag"); if (x != null && !checkNeed) { card.bTagNum = (byte)this.m_tags.get_Count(); card.TagList = new ushort[(int)card.bTagNum]; for (int i = 0; i < this.m_tags.get_Count(); i++) { card.TagList[i] = (ushort)Convert.ToByte(this.m_tags.get_Item(i)); } } }
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._wangZheCnt = roleInfo.m_WangZheCnt; this.GuildName = roleInfo.m_baseGuildInfo.name; this.GuildState = roleInfo.m_baseGuildInfo.guildState; this.creditScore = roleInfo.creditScore; this.sumDelCreditValue = roleInfo.sumDelCreditValue; this.mostDelCreditType = roleInfo.mostDelCreditType; this.m_userPrivacyBits = roleInfo.m_userPrivacyBits; 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 = (RES_STATISTIC_SETTLE_DATA_TYPE)cOMDT_STATISTIC_KEY_VALUE_INFO.dwKey; switch (dwKey) { case RES_STATISTIC_SETTLE_DATA_TYPE.RES_STATISTIC_SETTLE_DATA_TYPE_MVP_CNT: this._mvpCnt = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue; break; case RES_STATISTIC_SETTLE_DATA_TYPE.RES_STATISTIC_SETTLE_DATA_TYPE_LOSE_SOUL: this._loseMvpCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue; break; case RES_STATISTIC_SETTLE_DATA_TYPE.RES_STATISTIC_SETTLE_DATA_TYPE_GODLIKE_CNT: this._holyShitCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue; break; case RES_STATISTIC_SETTLE_DATA_TYPE.RES_STATISTIC_SETTLE_DATA_TYPE_DOUBLE_KILL_CNT: this._doubleKillCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue; break; case RES_STATISTIC_SETTLE_DATA_TYPE.RES_STATISTIC_SETTLE_DATA_TYPE_TRIPLE_KILL_CNT: this._trippleKillCount = (int)cOMDT_STATISTIC_KEY_VALUE_INFO.dwValue; break; default: if (dwKey != RES_STATISTIC_SETTLE_DATA_TYPE.RES_STATISTIC_SETTLE_DATA_TYPE_QUATARY_KILL_CNT) { if (dwKey == RES_STATISTIC_SETTLE_DATA_TYPE.RES_STATISTIC_SETTLE_DATA_TYPE_PENTA_KILL_CNT) { 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> honorDic = this._honorDic; KeyValuePair <int, COMDT_HONORINFO> current2 = enumerator.get_Current(); if (!honorDic.ContainsKey(current2.get_Key())) { Dictionary <int, COMDT_HONORINFO> honorDic2 = this._honorDic; int num3 = key; KeyValuePair <int, COMDT_HONORINFO> current3 = enumerator.get_Current(); honorDic2.Add(num3, 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); this._socialCardInfo = Utility.DeepCopyByReflection <COMDT_FRIEND_CARD>(roleInfo.m_socialFriendCard); } else { DebugHelper.Assert(false, "cheieveInfo is null,wordID{0},uid{1}", new object[] { roleInfo.logicWorldID, roleInfo.playerUllUID }); } }
private bool ChcekFriendCardDiffWidgets(COMDT_FRIEND_CARD card) { int num = 1; if (card.dwDay != (uint)this.m_searchVals[num][this.GetDropListSelectIdx(num)]) { return(true); } num = 2; if (card.dwHour != (uint)this.m_searchVals[num][this.GetDropListSelectIdx(num)]) { return(true); } num = 0; if (card.dwSearchType != (uint)this.m_searchVals[num][this.GetDropListSelectIdx(num)]) { return(true); } num = 3; if (card.wHeroTypeOne != (ushort)this.m_searchVals[num][this.GetDropListSelectIdx(num)]) { return(true); } num = 4; if (card.wHeroTypeTwo != (ushort)this.m_searchVals[num][this.GetDropListSelectIdx(num)]) { return(true); } num = 5; string text = this.m_searchStrings[num][this.GetDropListSelectIdx(num)]; num = 6; string text2 = "-"; if (this.m_searchStrings[num] != null) { text2 = this.m_searchStrings[num][this.GetDropListSelectIdx(num)]; } byte[] array = new byte[card.szPlace.Length]; StringHelper.StringToUTF8Bytes(text + '~' + text2, ref array); if (array == null || array.Length != card.szPlace.Length) { return(true); } for (int i = 0; i < array.Length; i++) { if (array[i] != card.szPlace[i]) { return(true); } } InputField signInputText = this.GetSignInputText(); if (signInputText) { array = new byte[card.szDatingDeclaration.Length]; StringHelper.StringToUTF8Bytes(signInputText.get_text(), ref array); if (array == null || array.Length != card.szDatingDeclaration.Length) { return(true); } for (int j = 0; j < array.Length; j++) { if (array[j] != card.szDatingDeclaration[j]) { return(true); } } } CUIFormScript form = Singleton <CUIManager> .instance.GetForm(CPlayerInfoSystem.sPlayerInfoFormPath); if (form == null) { return(false); } GameObject widget = form.GetWidget(32); if (widget == null) { return(false); } Transform x = widget.transform.Find("pnlContainer/Social_Tag"); if (x != null) { for (int k = 0; k < this.m_tags.get_Count(); k++) { if (card.TagList[k] != (ushort)Convert.ToByte(this.m_tags.get_Item(k))) { return(true); } } } return(false); }