From 7877c0340d9d2ff519637040667e46b133c5781d Mon Sep 17 00:00:00 2001 From: _ChingC Date: Tue, 14 Feb 2023 01:57:56 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20#3687=EF=BC=8C=E5=B9=B6=E6=A3=80?= =?UTF-8?q?=E6=9F=A5=E5=87=BA2=E5=A4=84=E5=8F=AF=E8=83=BD=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E7=9A=84=E6=B3=A8=E5=85=A5=E6=BC=8F=E6=B4=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - src/MaaWpfGui/Main/TaskQueueViewModel.cs:291 - src/MaaWpfGui/Main/TaskQueueViewModel.cs:371 --- src/MaaWpfGui/Main/AsstProxy.cs | 2 +- src/MaaWpfGui/Main/CopilotViewModel.cs | 4 ++-- src/MaaWpfGui/Main/DepotViewModel.cs | 2 +- src/MaaWpfGui/Main/RecruitViewModel.cs | 2 +- src/MaaWpfGui/Main/SettingsViewModel.cs | 5 ----- src/MaaWpfGui/Main/TaskQueueViewModel.cs | 13 +++++++++++-- 6 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/MaaWpfGui/Main/AsstProxy.cs b/src/MaaWpfGui/Main/AsstProxy.cs index ec603212d3..5f5a4f49a0 100644 --- a/src/MaaWpfGui/Main/AsstProxy.cs +++ b/src/MaaWpfGui/Main/AsstProxy.cs @@ -505,7 +505,7 @@ namespace MaaWpfGui } else if (taskChain == "Mall") { - if (_settingsViewModel.CreditFightTaskEnabled) + if (_taskQueueViewModel.Stage != string.Empty && _settingsViewModel.CreditFightTaskEnabled) { _settingsViewModel.LastCreditFightTaskTime = Utils.GetYJTimeDateString(); } diff --git a/src/MaaWpfGui/Main/CopilotViewModel.cs b/src/MaaWpfGui/Main/CopilotViewModel.cs index a709d7bb6d..c8b95a2e05 100644 --- a/src/MaaWpfGui/Main/CopilotViewModel.cs +++ b/src/MaaWpfGui/Main/CopilotViewModel.cs @@ -442,7 +442,7 @@ namespace MaaWpfGui /// /// Starts copilot. /// - public async void Start() + private async void Start() { /* if (_form) @@ -490,7 +490,7 @@ namespace MaaWpfGui /// /// Stops copilot. /// - public void Stop() + private void Stop() { _asstProxy.AsstStop(); Idle = true; diff --git a/src/MaaWpfGui/Main/DepotViewModel.cs b/src/MaaWpfGui/Main/DepotViewModel.cs index 7726ac09f9..c30797a981 100644 --- a/src/MaaWpfGui/Main/DepotViewModel.cs +++ b/src/MaaWpfGui/Main/DepotViewModel.cs @@ -154,7 +154,7 @@ namespace MaaWpfGui /// /// Starts depot recognition. /// - public async void Start() + private async void Start() { string errMsg = string.Empty; DepotInfo = Localization.GetString("ConnectingToEmulator"); diff --git a/src/MaaWpfGui/Main/RecruitViewModel.cs b/src/MaaWpfGui/Main/RecruitViewModel.cs index 8c3fb56866..dbdc691656 100644 --- a/src/MaaWpfGui/Main/RecruitViewModel.cs +++ b/src/MaaWpfGui/Main/RecruitViewModel.cs @@ -164,7 +164,7 @@ namespace MaaWpfGui /// /// Starts calculation. /// - public async void StartCalc() + private async void StartCalc() { string errMsg = string.Empty; RecruitInfo = Localization.GetString("ConnectingToEmulator"); diff --git a/src/MaaWpfGui/Main/SettingsViewModel.cs b/src/MaaWpfGui/Main/SettingsViewModel.cs index f1a64a3e7b..53d30dd31b 100644 --- a/src/MaaWpfGui/Main/SettingsViewModel.cs +++ b/src/MaaWpfGui/Main/SettingsViewModel.cs @@ -1216,11 +1216,6 @@ namespace MaaWpfGui { get { - if (_taskQueueViewModel.Stage == string.Empty) - { - return false; - } - try { if (Utils.GetYJTimeDate() > DateTime.ParseExact(_lastCreditFightTaskTime, "yyyy/MM/dd HH:mm:ss", CultureInfo.InvariantCulture)) diff --git a/src/MaaWpfGui/Main/TaskQueueViewModel.cs b/src/MaaWpfGui/Main/TaskQueueViewModel.cs index a47d9e7c3b..540114ccc5 100644 --- a/src/MaaWpfGui/Main/TaskQueueViewModel.cs +++ b/src/MaaWpfGui/Main/TaskQueueViewModel.cs @@ -195,7 +195,7 @@ namespace MaaWpfGui /// /// Initializes items. /// - public void InitializeItems() + private void InitializeItems() { string[] task_list = new string[] { @@ -286,6 +286,8 @@ namespace MaaWpfGui /// Updates stage list. /// /// Whether or not to update the stage list for selection forcely + // FIXME: 被注入对象只能在private函数内使用,只有Model显示之后才会被注入。如果Model还没有触发OnInitialActivate时调用函数会NullPointerException + // 这个函数被列为public可见,意味着他注入对象前被调用 public void UpdateStageList(bool forceUpdate) { if (_settingsViewModel.HideUnavailableStage) @@ -364,6 +366,8 @@ namespace MaaWpfGui /// /// Updates date prompt. /// + // FIXME: 被注入对象只能在private函数内使用,只有Model显示之后才会被注入。如果Model还没有触发OnInitialActivate时调用函数会NullPointerException + // 这个函数被列为public可见,意味着他注入对象前被调用 public void UpdateDatePrompt() { var builder = new StringBuilder(Localization.GetString("TodaysStageTip") + "\n"); @@ -885,7 +889,12 @@ namespace MaaWpfGui black_list[i] = black_list[i].Trim(); } - return _asstProxy.AsstAppendMall(_settingsViewModel.CreditFightTaskEnabled, _settingsViewModel.CreditShopping, buy_first, black_list, _settingsViewModel.CreditForceShoppingIfCreditFull); + return _asstProxy.AsstAppendMall( + this.Stage != string.Empty && _settingsViewModel.CreditFightTaskEnabled, + _settingsViewModel.CreditShopping, + buy_first, + black_list, + _settingsViewModel.CreditForceShoppingIfCreditFull); } private bool appendRecruit() From 9f42089c0e8f588a1e1986e72f1be449c74e2664 Mon Sep 17 00:00:00 2001 From: MistEO Date: Tue, 14 Feb 2023 11:23:34 +0800 Subject: [PATCH 2/2] docs: changelogs --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6709cc33c1..74b1f85332 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## v4.10.8-rc.1 + +- 修复 界面 启动时崩溃的问题 @ChingCdesu + ## v4.10.8-beta.1 - 新增 界面 保存最近连接端口号 @ABA2396