From 537f647ba76f0d919c0ae923f0fc90c5dc8c1c51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=89=E9=B8=AD=E8=9B=8B?= Date: Sat, 21 Dec 2024 15:19:01 +0800 Subject: [PATCH] fix auto skip plot when pathing --- .../GameTask/AutoPathing/PathExecutor.cs | 5 ++++- .../GameTask/AutoSkip/AutoSkipConfig.cs | 6 +++--- .../GameTask/AutoSkip/AutoSkipTrigger.cs | 21 +++++++++++++++++++ 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/BetterGenshinImpact/GameTask/AutoPathing/PathExecutor.cs b/BetterGenshinImpact/GameTask/AutoPathing/PathExecutor.cs index 2b5bd2ee..de03bc24 100644 --- a/BetterGenshinImpact/GameTask/AutoPathing/PathExecutor.cs +++ b/BetterGenshinImpact/GameTask/AutoPathing/PathExecutor.cs @@ -912,7 +912,10 @@ public class PathExecutor if (_autoSkipTrigger == null) { - _autoSkipTrigger = new AutoSkipTrigger(); + _autoSkipTrigger = new AutoSkipTrigger(new AutoSkipConfig + { + ClickChatOption = "优先选择最后一个选项", + }); _autoSkipTrigger.Init(); } diff --git a/BetterGenshinImpact/GameTask/AutoSkip/AutoSkipConfig.cs b/BetterGenshinImpact/GameTask/AutoSkip/AutoSkipConfig.cs index cc571b49..e38f98af 100644 --- a/BetterGenshinImpact/GameTask/AutoSkip/AutoSkipConfig.cs +++ b/BetterGenshinImpact/GameTask/AutoSkip/AutoSkipConfig.cs @@ -26,9 +26,9 @@ public partial class AutoSkipConfig : ObservableObject [ObservableProperty] private bool _quicklySkipConversationsEnabled = true; - public int ChatOptionTextWidth { get; set; } = 280; - - public int ExpeditionOptionTextWidth { get; set; } = 130; + // public int ChatOptionTextWidth { get; set; } = 280; + // + // public int ExpeditionOptionTextWidth { get; set; } = 130; /// /// 选择选项前的延迟(毫秒) diff --git a/BetterGenshinImpact/GameTask/AutoSkip/AutoSkipTrigger.cs b/BetterGenshinImpact/GameTask/AutoSkip/AutoSkipTrigger.cs index dcfaadbc..1277c948 100644 --- a/BetterGenshinImpact/GameTask/AutoSkip/AutoSkipTrigger.cs +++ b/BetterGenshinImpact/GameTask/AutoSkip/AutoSkipTrigger.cs @@ -65,12 +65,25 @@ public partial class AutoSkipTrigger : ITaskTrigger private List _selectList = []; private PostMessageSimulator? _postMessageSimulator; + + private readonly bool _isCustomConfiguration; public AutoSkipTrigger() { _autoSkipAssets = AutoSkipAssets.Instance; _config = TaskContext.Instance().Config.AutoSkipConfig; } + + /// + /// 用于内部的其他方法调用 + /// + /// + public AutoSkipTrigger(AutoSkipConfig config) + { + _autoSkipAssets = AutoSkipAssets.Instance; + _config = config; + _isCustomConfiguration = true; + } public void Init() { @@ -79,6 +92,14 @@ public partial class AutoSkipTrigger : ITaskTrigger // IsUseInteractionKey = _config.SelectChatOptionType == SelectChatOptionTypes.UseInteractionKey; _postMessageSimulator = TaskContext.Instance().PostMessageSimulator; + if (!_isCustomConfiguration) + { + InitKeyword(); + } + } + + private void InitKeyword() + { try { var defaultPauseListJson = Global.ReadAllTextIfExist(@"User\AutoSkip\default_pause_options.json");