// 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; } } }
// 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); }
// 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; }
// 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); } }