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