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)