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)