From 9eacc6ed0af5af43129a3a4a01d5fb78fbb7f24b Mon Sep 17 00:00:00 2001 From: Doombox Date: Fri, 25 Mar 2022 09:30:09 +0000 Subject: [PATCH] I'm certain that the checklist is working properly now, it has to be. --- .../CharacterChecklistView.xaml | 6 +++-- LostArkTools.csproj | 1 + Services/ChecklistDataService.cs | 2 +- Services/TimeService.cs | 22 +++++++++++-------- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/Features/Checklist/CharacterChecklist/CharacterChecklistView.xaml b/Features/Checklist/CharacterChecklist/CharacterChecklistView.xaml index 3cbb4a3..45a7ae8 100644 --- a/Features/Checklist/CharacterChecklist/CharacterChecklistView.xaml +++ b/Features/Checklist/CharacterChecklist/CharacterChecklistView.xaml @@ -17,13 +17,15 @@ diff --git a/LostArkTools.csproj b/LostArkTools.csproj index f6aa1ae..2907260 100644 --- a/LostArkTools.csproj +++ b/LostArkTools.csproj @@ -6,6 +6,7 @@ disable true lostarktools.ico + 0.0.6 diff --git a/Services/ChecklistDataService.cs b/Services/ChecklistDataService.cs index 8027fd5..79b774f 100644 --- a/Services/ChecklistDataService.cs +++ b/Services/ChecklistDataService.cs @@ -20,7 +20,7 @@ protected override void OnLoadFailed() protected override void BeforeSave() { - Data.LastOpened = _ts.Now; + Data.LastOpened = TimeService.Now; } public IEnumerable GetCharacters() => diff --git a/Services/TimeService.cs b/Services/TimeService.cs index 9729dcb..cab14d4 100644 --- a/Services/TimeService.cs +++ b/Services/TimeService.cs @@ -21,21 +21,21 @@ public class TimeService public Action DailyReset { get; set; } = () => { }; public Action SecondsTick { get; set; } = () => { }; - private DateTime Today => DateTime.UtcNow.Date; + private static DateTime Today => DateTime.UtcNow.Date; - public DateTime Now => DateTime.UtcNow; + public static DateTime Now => DateTime.UtcNow; - public DateTime ServerTime => + public DateTime ServerNow => DateTime.UtcNow + _currentTimezone.BaseUtcOffset; public string ServerTimeString => - $"Server Time ({_currentServer}): {ServerTime:HH:mm}"; + $"Server Time ({_currentServer}): {ServerNow:HH:mm}"; public DateTime ResetToday => Today.AddHours(10); public DateTime NextDailyReset => - Now >= ResetToday ? ResetToday.AddDays(1) : ResetToday; + Now > ResetToday ? ResetToday.AddDays(1) : ResetToday; public DateTime LastDailyReset => Now < ResetToday ? ResetToday.AddDays(-1) : ResetToday; @@ -50,7 +50,7 @@ public class TimeService NextWeeklyReset - Now; public bool IsWeeklyResetDay => - ServerTime.DayOfWeek == DayOfWeek.Thursday; + Now.DayOfWeek == DayOfWeek.Thursday; private TimeZoneInfo _currentTimezone = Servers["EU Central/West"]; private string _currentServer = "EU Central/West"; @@ -60,8 +60,12 @@ public TimeService(IContainer container) JobManager.UseUtcTime(); JobManager.Initialize(); JobManager.AddJob(() => SecondsTick(), s => s.ToRunEvery(1).Seconds()); - JobManager.AddJob(() => DailyReset(), s => s.ToRunEvery(1).Days().At(10,00)); - JobManager.AddJob(() => WeeklyReset(), s => s.ToRunEvery(1).Weeks().On(DayOfWeek.Thursday).At(10,00)); + JobManager.AddJob(() => + { + DailyReset(); + if (IsWeeklyResetDay) + WeeklyReset(); + }, s => s.ToRunEvery(1).Days().At(10,00)); } public IEnumerable GetRegions() => Servers.Select(x => x.Key); @@ -73,5 +77,5 @@ public void SetTimezone(string serverName) } public bool HasResetPassedSinceLastLaunch(DateTime lastOpened) => - Now >= LastDailyReset && lastOpened < LastDailyReset; + Now > LastDailyReset && lastOpened < LastDailyReset; } \ No newline at end of file