mirror of
https://github.com/babalae/better-genshin-impact.git
synced 2026-03-15 07:43:20 +08:00
针对 #1797 新增的尘歌壶进入方式添加配置
This commit is contained in:
@@ -3,4 +3,5 @@
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=enkanomiya/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=mirrorchan/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=onslaugh/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=serenitea/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=steambird/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
||||
@@ -51,6 +51,10 @@ public partial class OneDragonFlowConfig : ObservableObject
|
||||
[ObservableProperty]
|
||||
private string _sundaySelectedValue = "0";
|
||||
|
||||
// 尘歌壶传送方式,1. 地图传送 2. 尘歌壶道具
|
||||
[ObservableProperty]
|
||||
private string _sereniteaPotTpType = "地图传送";
|
||||
|
||||
// 尘歌壶洞天购买商品
|
||||
[ObservableProperty]
|
||||
private List<string> _secretTreasureObjects = new();
|
||||
|
||||
@@ -68,9 +68,13 @@ internal class GoToSereniteaPotTask
|
||||
Logger.LogDebug(e, "领取尘歌壶奖励异常");
|
||||
Logger.LogError("领取尘歌壶奖励异常: {Msg}", e.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Simulation.ReleaseAllKey();
|
||||
}
|
||||
}
|
||||
|
||||
private async Task IntoSereniteaPot(CancellationToken ct)
|
||||
private async Task<bool> IntoSereniteaPot(CancellationToken ct)
|
||||
{
|
||||
// 退出到主页面
|
||||
await new ReturnMainUiTask().Start(ct);
|
||||
@@ -167,9 +171,8 @@ internal class GoToSereniteaPotTask
|
||||
|
||||
if (attempt == 9)
|
||||
{
|
||||
fail = true;
|
||||
Logger.LogWarning("领取尘歌壶奖励:{text}", "传送至尘歌壶失败");
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
Logger.LogInformation("领取尘歌壶奖励:{text}", "传送按钮、传送住宅按钮未找到,重试");
|
||||
@@ -177,6 +180,7 @@ internal class GoToSereniteaPotTask
|
||||
}
|
||||
|
||||
await NewRetry.WaitForAction(() => Bv.IsInMainUi(CaptureToRectArea()), ct);
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -335,7 +339,7 @@ internal class GoToSereniteaPotTask
|
||||
}
|
||||
await Delay(300, ct);
|
||||
}
|
||||
await Delay(100, ct);
|
||||
await Delay(500, ct); // 默认开启动态模糊,停顿时间太短的情况下,截图可能会模糊,导致识别失败
|
||||
if (continuousCount > 180)
|
||||
{
|
||||
fail = true;
|
||||
@@ -442,7 +446,6 @@ internal class GoToSereniteaPotTask
|
||||
CaptureToRectArea().Find(ElementAssets.Instance.PageCloseWhiteRo).Click();
|
||||
}
|
||||
|
||||
InitConfigList();
|
||||
await Delay(900, ct);
|
||||
// 商店购买
|
||||
if (SelectedConfig.SecretTreasureObjects.Count == 0)
|
||||
@@ -630,6 +633,7 @@ internal class GoToSereniteaPotTask
|
||||
|
||||
public async Task DoOnce(CancellationToken ct)
|
||||
{
|
||||
InitConfigList();
|
||||
// /**
|
||||
// * 1. 首先退出到主页面
|
||||
// * 2. 进入尘歌壶
|
||||
@@ -638,10 +642,21 @@ internal class GoToSereniteaPotTask
|
||||
// * 5. 领取奖励
|
||||
// */
|
||||
// 进入尘歌壶
|
||||
if (!await IntoSereniteaPotByBag(ct))
|
||||
var success = false;
|
||||
if (SelectedConfig!.SereniteaPotTpType == "地图传送")
|
||||
{
|
||||
await IntoSereniteaPot(ct);
|
||||
success = await IntoSereniteaPot(ct);
|
||||
}
|
||||
else
|
||||
{
|
||||
success = await IntoSereniteaPotByBag(ct);
|
||||
}
|
||||
if (!success)
|
||||
{
|
||||
await Finished(ct);
|
||||
return;
|
||||
}
|
||||
|
||||
// 寻找阿圆并靠近
|
||||
await FindAYuan(ct);
|
||||
// 领取奖励
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
xmlns:pages="clr-namespace:BetterGenshinImpact.ViewModel.Pages"
|
||||
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||
d:DataContext="{d:DesignInstance Type=pages:OneDragonFlowViewModel}"
|
||||
d:DesignHeight="600"
|
||||
d:DesignHeight="1000"
|
||||
d:DesignWidth="800"
|
||||
ui:Design.Background="{DynamicResource ApplicationBackgroundBrush}"
|
||||
ui:Design.Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
@@ -1014,6 +1014,33 @@
|
||||
FontSize="14"
|
||||
Foreground="{DynamicResource SystemAccentColorPrimaryBrush}"
|
||||
Text="尘歌壶奖励" />
|
||||
<ui:CardControl Margin="0,0,0,12">
|
||||
<ui:CardControl.Icon>
|
||||
<ui:FontIcon Glyph="" Style="{StaticResource FaFontIconStyle}" />
|
||||
</ui:CardControl.Icon>
|
||||
<ui:CardControl.Header>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<ui:TextBlock Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
FontTypography="Body"
|
||||
Text="进入尘歌壶方式"
|
||||
TextWrapping="Wrap" />
|
||||
<ui:TextBlock Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Foreground="{ui:ThemeResource TextFillColorTertiaryBrush}"
|
||||
Text="地图传送进入或者使用道具进入"
|
||||
TextWrapping="Wrap" />
|
||||
</Grid>
|
||||
</ui:CardControl.Header>
|
||||
<ComboBox MinWidth="100"
|
||||
Margin="0,0,28,0"
|
||||
SelectedItem="{Binding SelectedConfig.SereniteaPotTpType, Mode=TwoWay}"
|
||||
ItemsSource="{Binding SereniteaPotTpTypes}" />
|
||||
</ui:CardControl>
|
||||
<ui:CardControl Margin="0,0,0,12">
|
||||
<ui:CardControl.Icon>
|
||||
<ui:FontIcon Glyph="" Style="{StaticResource FaFontIconStyle}" />
|
||||
|
||||
@@ -390,6 +390,8 @@ public partial class OneDragonFlowViewModel : ViewModel
|
||||
|
||||
[ObservableProperty] private List<string> _secretTreasureObjectList = ["布匹","须臾树脂","大英雄的经验","流浪者的经验","精锻用魔矿","摩拉","祝圣精华","祝圣油膏"];
|
||||
|
||||
[ObservableProperty] private List<string> _sereniteaPotTpTypes = ["地图传送", "尘歌壶道具"];
|
||||
|
||||
public AllConfig Config { get; set; } = TaskContext.Instance().Config;
|
||||
|
||||
public OneDragonFlowViewModel()
|
||||
|
||||
Reference in New Issue
Block a user