diff --git a/src/MaaWpfGui/Helper/StageActivityInfo.cs b/src/MaaWpfGui/Helper/StageActivityInfo.cs index 43e79c5bef..6bb31499c0 100644 --- a/src/MaaWpfGui/Helper/StageActivityInfo.cs +++ b/src/MaaWpfGui/Helper/StageActivityInfo.cs @@ -49,9 +49,19 @@ namespace MaaWpfGui /// public bool IsResourceCollection { get; set; } = false; + /// + /// Gets a value indicating whether the activity is open or not + /// + public bool BeingOpen => !NotOpenYet && !IsExpired; + /// /// Gets a value indicating whether the activity is expired /// - public bool IsExpired => DateTime.UtcNow >= UtcExpireTime || DateTime.UtcNow <= UtcStartTime; + public bool IsExpired => DateTime.UtcNow >= UtcExpireTime; + + /// + /// Gets a value indicating whether the activity is expired + /// + public bool NotOpenYet => DateTime.UtcNow <= UtcStartTime; } } diff --git a/src/MaaWpfGui/Helper/StageInfo.cs b/src/MaaWpfGui/Helper/StageInfo.cs index db3ca7ab54..a0098ee745 100644 --- a/src/MaaWpfGui/Helper/StageInfo.cs +++ b/src/MaaWpfGui/Helper/StageInfo.cs @@ -80,7 +80,7 @@ namespace MaaWpfGui /// Whether activity is closed public bool IsActivityClosed() { - return Activity != null && Activity.IsExpired && !Activity.IsResourceCollection; + return Activity != null && !Activity.BeingOpen && !Activity.IsResourceCollection; } /// @@ -92,7 +92,7 @@ namespace MaaWpfGui { if (Activity != null) { - if (!Activity.IsExpired) + if (Activity.BeingOpen) { return true; } diff --git a/src/MaaWpfGui/Helper/StageManager.cs b/src/MaaWpfGui/Helper/StageManager.cs index 9234f57e3a..56b60eb830 100644 --- a/src/MaaWpfGui/Helper/StageManager.cs +++ b/src/MaaWpfGui/Helper/StageManager.cs @@ -117,7 +117,7 @@ namespace MaaWpfGui bool isDebugVersion = Marshal.PtrToStringAnsi(AsstGetVersion()) == "DEBUG VERSION"; bool curParsed = !isDebugVersion ? SemVersion.TryParse(Marshal.PtrToStringAnsi(AsstGetVersion()), SemVersionStyles.AllowLowerV, out var curVersionObj) : - SemVersion.TryParse("4.10.1", SemVersionStyles.AllowLowerV, out curVersionObj); + SemVersion.TryParse("4.10.7", SemVersionStyles.AllowLowerV, out curVersionObj); bool minimumRequiredPared = SemVersion.TryParse(stageObj?["MinimumRequired"]?.ToString() ?? string.Empty, SemVersionStyles.AllowLowerV, out var minimumRequiredObj); if (curParsed && minimumRequiredPared) @@ -151,21 +151,24 @@ namespace MaaWpfGui continue; } - tempStage.Add( - stageObj["Value"].ToString(), - new StageInfo + var stageInfo = new StageInfo + { + Display = stageObj?["Display"]?.ToString() ?? string.Empty, + Value = stageObj["Value"].ToString(), + Drop = stageObj?["Drop"]?.ToString(), + Activity = new StageActivityInfo() { - Display = stageObj?["Display"]?.ToString() ?? string.Empty, - Value = stageObj["Value"].ToString(), - Drop = stageObj?["Drop"]?.ToString(), - Activity = new StageActivityInfo() - { - Tip = stageObj["Activity"]?["Tip"]?.ToString(), - StageName = stageObj["Activity"]?["StageName"]?.ToString(), - UtcStartTime = GetDateTime(stageObj["Activity"], "UtcStartTime"), - UtcExpireTime = GetDateTime(stageObj["Activity"], "UtcExpireTime"), - }, - }); + Tip = stageObj["Activity"]?["Tip"]?.ToString(), + StageName = stageObj["Activity"]?["StageName"]?.ToString(), + UtcStartTime = GetDateTime(stageObj["Activity"], "UtcStartTime"), + UtcExpireTime = GetDateTime(stageObj["Activity"], "UtcExpireTime"), + }, + }; + + if (!stageInfo.Activity.IsExpired) + { + tempStage.Add(stageObj["Value"].ToString(), stageInfo); + } } } catch (Exception e)