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