Ejemplo n.º 1
0
    // Token: 0x060024BC RID: 9404 RVA: 0x00423324 File Offset: 0x00421524
    public void SetGiftList(ushort ItemID, CString Name, long UserID)
    {
        List <KingGiftInfo> giftList = this.GetGiftList();

        for (int i = 0; i < giftList.Count; i++)
        {
            if (giftList[i].ItemID == ItemID)
            {
                KingGiftInfo.GiftList[] list         = giftList[i].List;
                KingGiftInfo            kingGiftInfo = giftList[i];
                byte listCount;
                kingGiftInfo.ListCount = (listCount = kingGiftInfo.ListCount) + 1;
                list[(int)listCount].Set(DataManager.Instance.RoleAlliance.Tag, Name, UserID);
                if (DataManager.MapDataController.FocusKingdomID == 0 || DataManager.MapDataController.FocusKingdomID == DataManager.MapDataController.OtherKingdomData.kingdomID)
                {
                    this.KingGift[(int)this.WonderID].KingGiftNum = 0;
                }
                else
                {
                    this.KingGift[(int)this.WonderID].GuetGiftnum = 0;
                }
                break;
            }
        }
    }
Ejemplo n.º 2
0
    // Token: 0x060024B9 RID: 9401 RVA: 0x004231A4 File Offset: 0x004213A4
    public KingGiftInfo GetKingGiftObj()
    {
        KingGiftInfo kingGiftInfo = null;

        if (this.GiftDataCountIdx == this.KingGiftListPool.Count)
        {
            int count = this.KingGiftListPool.Count;
            for (byte b = 0; b < 10; b += 1)
            {
                this.KingGiftListPool.Insert(count + (int)b, new KingGiftInfo(count + (int)b));
            }
        }
        int giftDataCountIdx = this.GiftDataCountIdx;

        for (int i = 0; i < this.KingGiftListPool.Count; i++)
        {
            int index = (i + giftDataCountIdx) % this.KingGiftListPool.Count;
            kingGiftInfo = this.KingGiftListPool[index];
            if (kingGiftInfo != null)
            {
                this.KingGiftListPool[index] = null;
                break;
            }
        }
        this.GiftDataCountIdx++;
        return(kingGiftInfo);
    }
Ejemplo n.º 3
0
 // Token: 0x060024BA RID: 9402 RVA: 0x00423270 File Offset: 0x00421470
 public void ReleaseKingGiftObj(KingGiftInfo Data)
 {
     if (Data == null || this.GiftDataCountIdx == 0)
     {
         return;
     }
     this.GiftDataCountIdx--;
     this.KingGiftListPool[Data.DataIdx] = Data;
 }
Ejemplo n.º 4
0
    // Token: 0x060024BF RID: 9407 RVA: 0x004235E4 File Offset: 0x004217E4
    public void RecvKingGiftInfo(MessagePacket MP)
    {
        ushort num = MP.ReadUShort(-1);

        this.CheckValid(this.WonderID);
        List <KingGiftInfo> list;

        if (DataManager.MapDataController.FocusKingdomID == 0 || DataManager.MapDataController.FocusKingdomID == DataManager.MapDataController.OtherKingdomData.kingdomID)
        {
            if (this.KingGift[(int)this.WonderID].StartPos == 0 && num == this.KingGift[(int)this.WonderID].KingGiftNum)
            {
                return;
            }
            this.KingGift[(int)this.WonderID].KingGiftNum = num;
            list = this.KingGift[(int)this.WonderID].KingGiftList;
        }
        else
        {
            if (this.KingGift[(int)this.WonderID].StartPos == 0 && num == this.KingGift[(int)this.WonderID].GuetGiftnum)
            {
                return;
            }
            this.KingGift[(int)this.WonderID].GuetGiftnum = num;
            list = this.KingGift[(int)this.WonderID].GustKingGiftList;
        }
        byte b  = MP.ReadByte(-1);
        byte b2 = (byte)(b >> 6 & 1);
        byte b3 = b & 31;
        byte b4 = (byte)(b >> 5 & 1);

        if (this.KingGift[(int)this.WonderID].StartPos == 0 && b4 == 0)
        {
            for (int i = 0; i < list.Count; i++)
            {
                this.ReleaseKingGiftObj(list[i]);
            }
            list.Clear();
        }
        CString cstring  = StringManager.Instance.StaticString1024();
        CString cstring2 = StringManager.Instance.StaticString1024();

        for (byte b5 = 0; b5 < b3; b5 += 1)
        {
            KingGiftInfo kingGiftInfo = null;
            int          num2         = -1;
            ushort       num3         = MP.ReadUShort(-1);
            if (b4 == 0)
            {
                kingGiftInfo = this.GetKingGiftObj();
            }
            else
            {
                for (int j = 0; j < list.Count; j++)
                {
                    if (list[j].ItemID == num3)
                    {
                        num2         = j;
                        kingGiftInfo = list[j];
                        break;
                    }
                }
            }
            if (kingGiftInfo == null)
            {
                kingGiftInfo = this.GetKingGiftObj();
            }
            kingGiftInfo.ItemID    = num3;
            kingGiftInfo.GiftCount = MP.ReadByte(-1);
            byte b6;
            if (b4 == 0)
            {
                kingGiftInfo.ListCount = MP.ReadByte(-1);
                b6 = kingGiftInfo.ListCount;
            }
            else
            {
                b6 = MP.ReadByte(-1);
            }
            for (byte b7 = 0; b7 < b6; b7 += 1)
            {
                byte b8;
                if (b4 == 0)
                {
                    b8 = b7;
                }
                else
                {
                    b8 = kingGiftInfo.ListCount + b7;
                }
                MP.ReadStringPlus(3, cstring2, -1);
                MP.ReadStringPlus(13, cstring, -1);
                if (b2 == 0)
                {
                    kingGiftInfo.List[(int)b8].Set(cstring2, cstring, 0L);
                }
                else
                {
                    kingGiftInfo.List[(int)b8].Set(cstring2, cstring, MP.ReadLong(-1));
                }
            }
            if (b4 == 1)
            {
                KingGiftInfo kingGiftInfo2 = kingGiftInfo;
                kingGiftInfo2.ListCount += b6;
            }
            if (num2 == -1)
            {
                list.Add(kingGiftInfo);
            }
        }
        if ((b >> 7 & 1) > 0)
        {
            GiftData giftData = this.KingGift[(int)this.WonderID];
            giftData.StartPos += b3;
        }
        else
        {
            this.KingGift[(int)this.WonderID].StartPos = 0;
            GUIManager.Instance.UpdateUI(EGUIWindow.UI_BagFilter, 9, 1);
        }
    }