少年修仙传客户端代码仓库
hch
2024-12-16 9377811d0ba27047e1e5ec2348a28eba1033d59d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace vnxbqy.UI
{
    public class OperationFlashSale : OperationBase
    {
        public List<FlashSale> flashShops = new List<FlashSale>();
 
        public bool TryGetFlashSale(DateTime time, out FlashSale flashSale)
        {
            flashSale = default(FlashSale);
            var index = IndexOfTime(time, inAdvanceMinute > 0 ? -1 : 0);
            index = Mathf.Min(index, flashShops.Count - 1);
            if (index >= 0)
            {
                flashSale = flashShops[index];
            }
            return index >= 0;
        }
 
        public override bool SatisfyOpenCondition()
        {
            return PlayerDatas.Instance.baseData.LV >= limitLv;
        }
 
        public override void Reset()
        {
            base.Reset();
            flashShops.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(HAA11_tagMCSpringSaleInfo package)
        {
            for (int i = 0; i < package.ShopCount; i++)
            {
                var flashShop = new FlashSale();
                var shop = package.ShopInfo[i];
                flashShop.gifts = new FlashSaleGift[shop.GiftbagCount];
                for (int k = 0; k < shop.GiftbagCount; k++)
                {
                    var gift = new FlashSaleGift();
                    var pakGift = shop.GiftbagInfo[k];
                    gift.id = (int)pakGift.GiftID;
                    gift.limitNum = pakGift.BuyCountLimit;
                    gift.moneyNumber = (int)pakGift.MoneyNumber;
                    gift.moneyType = pakGift.MoneyType;
                    gift.moneyOriginal = (int)pakGift.MoneyOriginal;
                    gift.items = new FlashSaleItem[pakGift.GiftItemCount];
                    for (int q = 0; q < pakGift.GiftItemCount; q++)
                    {
                        var item = new FlashSaleItem();
                        item.itemId = (int)pakGift.ItemInfo[q].ItemID;
                        item.itemCount = pakGift.ItemInfo[q].ItemCount;
                        item.isMainItem = pakGift.ItemInfo[q].IsMainItem == 1;
                        gift.items[q] = item;
                    }
                    flashShop.gifts[k] = gift;
                }
                flashShops.Add(flashShop);
            }
        }
 
        public struct FlashSale
        {
            public FlashSaleGift[] gifts;
        }
 
        public struct FlashSaleGift
        {
            public int id;
            public int limitNum;
            public int moneyType;
            public int moneyNumber;
            public int moneyOriginal;
            public FlashSaleItem[] items;
        }
 
        public struct FlashSaleItem
        {
            public int itemId;
            public int itemCount;
            public bool isMainItem;
        }
    }
}