少年修仙传客户端代码仓库
hch
3 天以前 600733c8f592cb9e65f2b7a3e110ac1d686e6bfe
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
using vnxbqy.UI;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class OperationQCSY : OperationBase
{
    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 ParseQCSY(IL_HAA54_tagMCActHorsePetFeastInfo package)
    {
        openTimes.Clear();
        for (int i = 0; i < package.ActTimeList.Length; i++)
        {
            List<int> startEndTime = new List<int>();
            startEndTime.Add(int.Parse(package.ActTimeList[i].StartTime.Split(':')[0]));
            startEndTime.Add(int.Parse(package.ActTimeList[i].StartTime.Split(':')[1]));
            startEndTime.Add(int.Parse(package.ActTimeList[i].EndtTime.Split(':')[0]));
            startEndTime.Add(int.Parse(package.ActTimeList[i].EndtTime.Split(':')[1]));
            openTimes.Add(startEndTime);
        }
    }
 
    //获取最近的开启时间[时,分]
    public List<int> GetStartTime()
    {
        var hour = TimeUtility.Hour;
        var 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 > endHour || (hour == endHour && minute > endMinute))
            {
                continue;
            }
            return new List<int> { startHour, startMinute };
        }
        return new List<int> { openTimes[openTimes.Count-1][0], openTimes[openTimes.Count - 1][1] };
    }
 
    public bool IsInAction()
    {
        var hour = TimeUtility.Hour;
        var 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 (startHour == endHour && minute >= startMinute && minute <= endMinute)
            {
                return true;
            }
 
            if (hour >= startHour && hour <= endHour)
            {
                if (hour == startHour && minute >= startMinute)
                {
                    return true;
                }
 
                if (hour == endHour && minute <= endMinute)
                {
                    return true;
                }
            }
        }
        return false;
    }
}