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);
        }
Exemple #2
0
        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
                });
            }
        }
Exemple #4
0
        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);
        }