少年修仙传客户端代码仓库
lcy
2024-12-16 a39c35fc6449430cd02bccb681c4a0a880e46cd9
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
using vnxbqy.UI;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class OperationLuckyCloudBuy : OperationBase
{
    public int m_ZoneID;    // 所属分区ID
    public int m_RoundID;    // 轮次唯一ID标识,当收到的轮次ID变更时,前端需清空购买号码记录缓存
    public int m_RoundNum;    // 今日第几轮 , 红点控制
    public int m_SuperItemID;    // 大奖物品ID
    public int m_SuperItemCount;    // 大奖物品个数
    public int m_SuperItemMoneyType;    // 大奖价值货币类型
    public int m_SuperItemMoneyValue;    // 大奖价值
    public List<ILItem> m_RandItemList = new List<ILItem>();    // 每次购买随机奖励物品信息
    List<List<int>> openTimes = new List<List<int>>();
 
    public override bool SatisfyOpenCondition()
    {
        return PlayerDatas.Instance.baseData.LV >= limitLv;
    }
 
    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 override void Reset()
    {
        base.Reset();
 
    }
 
    public void UpdateLuckyCloudBuyRoundInfo(IL_HC012_tagGCLuckyCloudBuyRoundInfo netPack)
    {
        m_ZoneID = netPack.ZoneID;
        m_RoundID = (int)netPack.RoundID;
        m_RoundNum = netPack.RoundNum;
        m_SuperItemID = (int)netPack.SuperItemID;
        m_SuperItemCount = netPack.SuperItemCount;
        m_SuperItemMoneyType = netPack.SuperItemMoneyType;
        m_SuperItemMoneyValue = (int)netPack.SuperItemMoneyValue;
 
        m_RandItemList.Clear();
        for (int i = 0; i < netPack.RandItemCount; i++)
        {
            m_RandItemList.Add(new ILItem()
            {
                id = (int)netPack.RandItemList[i].ItemID,
                count = netPack.RandItemList[i].ItemCount,
                bind = netPack.RandItemList[i].IsBind,
            }) ;
        }
 
        openTimes.Clear();
        for (int i = 0; i < netPack.RoundTimeList.Length; i++)
        {
            List<int> startEndTime = new List<int>();
            startEndTime.Add(int.Parse(netPack.RoundTimeList[i].StartTime.Split(':')[0]));
            startEndTime.Add(int.Parse(netPack.RoundTimeList[i].StartTime.Split(':')[1]));
            startEndTime.Add(int.Parse(netPack.RoundTimeList[i].EndtTime.Split(':')[0]));
            startEndTime.Add(int.Parse(netPack.RoundTimeList[i].EndtTime.Split(':')[1]));
            startEndTime.Add(netPack.RoundTimeList[i].RoundMax);
            openTimes.Add(startEndTime);
        }
    }
 
    //获取下次的开启时间[时,分]
    public List<int> GetStartTime()
    {
        var hour = ILTimeUtility.ServerCrossNow.Hour;//TimeUtility.Hour;
        var minute = ILTimeUtility.ServerCrossNow.Minute;//TimeUtility.Minute;
 
        for (int i = 0; i < openTimes.Count; i++)
        {
            var startHour = openTimes[i][0];
            var startMinute = openTimes[i][1];
 
            if (hour > startHour || (hour == startHour && minute > startMinute))
            {
                continue;
            }
            return new List<int> { startHour, startMinute };
        }
        return null;
    }
 
    public bool IsOver()
    {
        var hour = ILTimeUtility.ServerCrossNow.Hour;//TimeUtility.Hour;
        var minute = ILTimeUtility.ServerCrossNow.Minute;//TimeUtility.Minute;
 
        for (int i = 0; i < openTimes.Count; i++)
        {
            var startHour = openTimes[i][0];
            var startMinute = openTimes[i][1];
            var endHour = openTimes[i][2];
            var endMinute = openTimes[i][3];
            if (((hour == startHour && minute >= startMinute) || hour > startHour) && 
                ((hour == endHour && minute <= endMinute) || hour < endHour))
            {
                if (m_RoundNum < openTimes[i][4])
                {
                    return false;
                }
                else if (LuckyCloudBuyModel.Instance.remainCnt == 0)
                {
                    return true;
                }
            }
        }
        return true;
    }
}