using System; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace vnxbqy.UI { public class GiftPackageClass : OperationBase { public List giftpackage1 = new List(); public bool TryGetGift(DateTime time, out Gift_Package flashSale) { flashSale = default(Gift_Package); var index = IndexOfTime(time); index = Mathf.Min(index, giftpackage1.Count - 1); if (index >= 0) { flashSale = giftpackage1[index]; } return index >= 0; } public override bool SatisfyOpenCondition() { return PlayerDatas.Instance.baseData.LV >= limitLv; } public override void Reset() { base.Reset(); giftpackage1.Clear(); } public override string ToDisplayTime() { var textBuilder = OperationTimeHepler.textBuilder; textBuilder.Length = 0; textBuilder.Append(startDate.ToDisplay()); if (startDate != endDate) { textBuilder.Append("—"); textBuilder.Append(endDate.ToDisplay()); } return textBuilder.ToString(); } public void ParsePackage(HAA12_tagMCFlashGiftbagInfo package) { for (int i = 0; i < package.GiftbagTypeCount; i++) { var GiftbagType = new Gift_Package(); var Giftbag = package.GiftbagTypeInfo[i]; GiftbagType.gifts = new GiftPackageGift[Giftbag.GiftbagCount]; for (int k = 0; k < Giftbag.GiftbagCount; k++) { var gift = new GiftPackageGift(); var pakGift = Giftbag.GiftbagInfo[k]; gift.id = (int)pakGift.GiftID; gift.limitNum = pakGift.BuyCountLimit; gift.rmb = (int)pakGift.RMB; gift.rmbOriginal = (int)pakGift.RMBOriginal; gift.OrderInfo = pakGift.OrderInfo; gift.OrderInfoLength = pakGift.OrderInfoLen; gift.items = new GiftPackageItem[pakGift.GiftItemCount]; for (int q = 0; q < pakGift.GiftItemCount; q++) { var item = new GiftPackageItem(); item.itemId = (int)pakGift.ItemInfo[q].ItemID; item.isBind = pakGift.ItemInfo[q].IsBind; item.itemCount = pakGift.ItemInfo[q].ItemCount; item.isMainItem = pakGift.ItemInfo[q].IsMainItem == 1; gift.items[q] = item; } GiftbagType.gifts[k] = gift; } giftpackage1.Add(GiftbagType); } } public struct Gift_Package { public GiftPackageGift[] gifts; } public struct GiftPackageGift { public int id; public int limitNum;//限购数 public int rmb;//货币 根据各个地区不同,单位为分 public int rmbOriginal;//原价 根据各个地区不同,单位为分 public string OrderInfo;//商品编号 public int OrderInfoLength;//长度 public GiftPackageItem[] items; } public struct GiftPackageItem { public int itemId; public int itemCount; public int isBind; public bool isMainItem; } } }