From 01638bd36dd973e2e925b3b41045b157f3e64d4e Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期三, 10 十月 2018 15:48:19 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/DailyQuest/DailyQuestData.cs | 68 ++++++++++++++++++++++++++++++++++
1 files changed, 68 insertions(+), 0 deletions(-)
diff --git a/System/DailyQuest/DailyQuestData.cs b/System/DailyQuest/DailyQuestData.cs
index da10ba2..3da5b1e 100644
--- a/System/DailyQuest/DailyQuestData.cs
+++ b/System/DailyQuest/DailyQuestData.cs
@@ -334,6 +334,74 @@
}
+ public int GetFirstOpenSurplusSeconds()
+ {
+ if (IsAfterFirstOpen())
+ {
+ return 0;
+ }
+ var openDayWeek = (int)TimeUtility.openServerDayOfWeek;
+ var dayIndex = TimeUtility.OpenDay + 1;
+ var maxDays = 15 - openDayWeek == 0 ? 7 : openDayWeek;
+ for (int i = dayIndex; i <= maxDays; i++)
+ {
+ if (specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(dayIndex))
+ {
+ var days = i - dayIndex;
+ var hourMinute = specialOpenTimes[openDayWeek][dayIndex][0];
+ var hour = TimeUtility.ServerNow.Hour;
+ var minute = TimeUtility.ServerNow.Minute;
+ var time = TimeUtility.ServerNow.AddDays(days);
+ time = new DateTime(time.Year, time.Month, time.Day, hourMinute.hourBegin, hourMinute.minuteBegin, 0);
+ var seconds = (int)(time - TimeUtility.ServerNow).TotalSeconds;
+ return Mathf.Max(0, seconds);
+ }
+ }
+ return 0;
+ }
+
+ public bool IsAfterFirstOpen()
+ {
+ var isSpecialDay = TimeUtility.OpenWeekCnt <= 1;
+ if (!isSpecialDay)
+ {
+ return true;
+ }
+ var openDayWeek = (int)TimeUtility.openServerDayOfWeek;
+ var dayIndex = TimeUtility.OpenDay + 1;
+ var maxDays = 15 - openDayWeek == 0 ? 7 : openDayWeek;
+ for (int i = 1; i <= maxDays; i++)
+ {
+ if (specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(dayIndex))
+ {
+ if (i < dayIndex)
+ {
+ return true;
+ }
+ if (i == dayIndex)
+ {
+ var hourMinute = specialOpenTimes[openDayWeek][dayIndex][0];
+ var hour = TimeUtility.ServerNow.Hour;
+ var minute = TimeUtility.ServerNow.Minute;
+ if (hour < hourMinute.hourEnd ||
+ (hour == hourMinute.hourEnd && minute < hourMinute.minuteEnd))
+ {
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+ }
+ if (i > dayIndex)
+ {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
public bool ContainTimeNode(int week, int timeNode)
{
var openDayWeek = (int)TimeUtility.openServerDayOfWeek;
--
Gitblit v1.8.0