From 351310e9766de3b211da707ea1c8a552882ddf24 Mon Sep 17 00:00:00 2001
From: uye <2396806385@qq.com>
Date: Mon, 13 Feb 2023 15:53:06 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=90=AF=E5=8A=A8=E6=97=B6=E6=B8=85?=
=?UTF-8?q?=E7=90=86=E5=85=B3=E5=8D=A1=E5=88=97=E8=A1=A8=E4=B8=AD=E8=BF=87?=
=?UTF-8?q?=E6=9C=9F=E7=9A=84=E5=85=B3=E5=8D=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/MaaWpfGui/Helper/StageActivityInfo.cs | 12 ++++++++-
src/MaaWpfGui/Helper/StageInfo.cs | 4 +--
src/MaaWpfGui/Helper/StageManager.cs | 33 ++++++++++++-----------
3 files changed, 31 insertions(+), 18 deletions(-)
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)