Example #1
0
 // Token: 0x060012EE RID: 4846 RVA: 0x0020FB64 File Offset: 0x0020DD64
 private static int MobiGroupUnitSortByValue(MobilizationGroupBroudUnit x, MobilizationGroupBroudUnit y)
 {
     if (x.Score > y.Score)
     {
         return(-1);
     }
     if (x.Score < y.Score)
     {
         return(1);
     }
     return(DataManager.CompareStr(x.AllianceTag, y.AllianceTag));
 }
Example #2
0
    // Token: 0x060012DD RID: 4829 RVA: 0x0020E7F8 File Offset: 0x0020C9F8
    public void Recv_MSG_RESP_ACTIVITY_AM_ALLIANCE_RANK(MessagePacket MP)
    {
        byte b = MP.ReadByte(-1);

        if (b != 0)
        {
            return;
        }
        byte   b2  = MP.ReadByte(-1);
        ushort num = MP.ReadUShort(-1);
        byte   b3  = MP.ReadByte(-1);

        if ((b2 & 1) > 0)
        {
            if (this.MobiGroupAllianceID != DataManager.Instance.RoleAlliance.Id)
            {
                this.ClearMobilizationBoard(UI_LeaderBoardUpdateKind.MobilizationGroupData);
            }
            else if (ActivityManager.Instance.AllyMobilizationData.EventBeginTime != this.AlliMobiEventTime)
            {
                this.ClearMobilizationBoard(UI_LeaderBoardUpdateKind.MobilizationGroupData);
            }
            this.AlliMobiEventTime        = ActivityManager.Instance.AllyMobilizationData.EventBeginTime;
            this.MobiGroupBoardUpdateTime = DataManager.Instance.ServerTime + 180L;
            this.MobiGroupAllianceID      = DataManager.Instance.RoleAlliance.Id;
        }
        for (int i = 0; i < (int)b3; i++)
        {
            uint num2 = MP.ReadUInt(-1);
            bool flag = false;
            for (int j = 0; j < this.MobiGroupBoard.Count; j++)
            {
                if (this.MobiGroupBoard[j].AlliacneID == num2)
                {
                    this.MobiGroupBoard[j].AllianceTag.ClearString();
                    this.MobiGroupBoard[j].Name.ClearString();
                    MP.ReadStringPlus(3, this.MobiGroupBoard[j].AllianceTag, -1);
                    MP.ReadStringPlus(20, this.MobiGroupBoard[j].Name, -1);
                    this.MobiGroupBoard[j].Score = MP.ReadUInt(-1);
                    flag = true;
                    break;
                }
            }
            if (!flag)
            {
                MobilizationGroupBroudUnit mobilizationGroupBroudUnit = new MobilizationGroupBroudUnit();
                mobilizationGroupBroudUnit.AlliacneID = num2;
                MP.ReadStringPlus(3, mobilizationGroupBroudUnit.AllianceTag, -1);
                MP.ReadStringPlus(20, mobilizationGroupBroudUnit.Name, -1);
                mobilizationGroupBroudUnit.Score = MP.ReadUInt(-1);
                this.MobiGroupBoard.Add(mobilizationGroupBroudUnit);
            }
        }
        if (b2 >= 2)
        {
            this.MobiGroupBoard.Sort(new Comparison <MobilizationGroupBroudUnit>(LeaderBoardManager.MobiGroupUnitSortByValue));
            for (int k = 0; k < this.MobiGroupBoard.Count; k++)
            {
                if (this.MobiGroupBoard[k].Rank > 0)
                {
                    this.MobiGroupBoard[k].ChangeRank = this.MobiGroupBoard[k].Rank - k - 1;
                }
                this.MobiGroupBoard[k].Rank = k + 1;
                if (DataManager.CompareStr(this.MobiGroupBoard[k].AllianceTag, DataManager.Instance.RoleAlliance.Tag) == 0)
                {
                    this.MobiGroupRank = (int)((ushort)(k + 1));
                    if (this.MobiGroupSaveVer != num)
                    {
                        this.MobiGroupLastScore = 0u;
                    }
                    if (this.MobiGroupLastScore != this.MobiGroupBoard[k].Score)
                    {
                        UILeaderBoard.ShowSP          = true;
                        UILeaderBoard.SPScoreValue    = (int)this.MobiGroupLastScore;
                        UILeaderBoard.SPScoreFlyValue = (int)(this.MobiGroupBoard[k].Score - this.MobiGroupLastScore);
                        UILeaderBoard.SPRankChange    = this.MobiGroupBoard[this.MobiGroupRank - 1].ChangeRank;
                        this.MobiGroupLastScore       = this.MobiGroupBoard[k].Score;
                        this.MobiGroupSaveVer         = num;
                        PlayerPrefs.SetString("AllianceMobilizationVer_" + DataManager.Instance.RoleAttr.UserId, this.MobiGroupSaveVer.ToString());
                        PlayerPrefs.SetString("AllianceMobilizationScore_" + DataManager.Instance.RoleAttr.UserId, this.MobiGroupLastScore.ToString());
                    }
                }
            }
            GUIManager.Instance.UpdateUI(EGUIWindow.UI_LeaderBoard, 6, 0);
        }
    }