diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/GachaStatistics.cs b/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/GachaStatistics.cs index aafe0979..8429a67c 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/GachaStatistics.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/GachaStatistics.cs @@ -21,7 +21,7 @@ public class GachaStatistics /// /// 奔行世间 /// - public TypedWishSummary PermanentWish { get; set; } = default!; + public TypedWishSummary StandardWish { get; set; } = default!; /// /// 历史卡池 diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaConfigTypeComparar.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaConfigTypeComparar.cs index 32038b72..4f6eb920 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaConfigTypeComparar.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaConfigTypeComparar.cs @@ -17,7 +17,7 @@ public class GachaConfigTypeComparar : IComparer { GachaConfigType.AvatarEventWish, 0 }, { GachaConfigType.AvatarEventWish2, 1 }, { GachaConfigType.WeaponEventWish, 2 }, - { GachaConfigType.PermanentWish, 3 }, + { GachaConfigType.StandardWish, 3 }, { GachaConfigType.NoviceWish, 4 }, }.ToImmutableDictionary(); diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaStatisticsFactory.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaStatisticsFactory.cs index e14728aa..34ff18f1 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaStatisticsFactory.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaStatisticsFactory.cs @@ -66,7 +66,7 @@ internal class GachaStatisticsFactory : IGachaStatisticsFactory Dictionary weaponMap, bool isEmptyHistoryWishVisible) { - TypedWishSummaryBuilder permanentWishBuilder = new(SH.ServiceGachaLogFactoryPermanentWishName, TypedWishSummaryBuilder.IsPermanentWish, 90, 10); + TypedWishSummaryBuilder standardWishBuilder = new(SH.ServiceGachaLogFactoryPermanentWishName, TypedWishSummaryBuilder.IsPermanentWish, 90, 10); TypedWishSummaryBuilder avatarWishBuilder = new(SH.ServiceGachaLogFactoryAvatarWishName, TypedWishSummaryBuilder.IsAvatarEventWish, 90, 10); TypedWishSummaryBuilder weaponWishBuilder = new(SH.ServiceGachaLogFactoryWeaponWishName, TypedWishSummaryBuilder.IsWeaponEventWish, 80, 10); @@ -103,7 +103,7 @@ internal class GachaStatisticsFactory : IGachaStatisticsFactory break; } - permanentWishBuilder.Track(item, avatar, isUp); + standardWishBuilder.Track(item, avatar, isUp); avatarWishBuilder.Track(item, avatar, isUp); weaponWishBuilder.Track(item, avatar, isUp); } @@ -130,7 +130,7 @@ internal class GachaStatisticsFactory : IGachaStatisticsFactory break; } - permanentWishBuilder.Track(item, weapon, isUp); + standardWishBuilder.Track(item, weapon, isUp); avatarWishBuilder.Track(item, weapon, isUp); weaponWishBuilder.Track(item, weapon, isUp); } @@ -162,7 +162,7 @@ internal class GachaStatisticsFactory : IGachaStatisticsFactory BlueWeapons = blueWeaponCounter.ToStatisticsList(), // typed wish summary - PermanentWish = permanentWishBuilder.ToTypedWishSummary(), + StandardWish = standardWishBuilder.ToTypedWishSummary(), AvatarWish = avatarWishBuilder.ToTypedWishSummary(), WeaponWish = weaponWishBuilder.ToTypedWishSummary(), }; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/TypedWishSummaryBuilder.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/TypedWishSummaryBuilder.cs index ad2e67e8..e18f0fcb 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/TypedWishSummaryBuilder.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/TypedWishSummaryBuilder.cs @@ -18,7 +18,7 @@ internal class TypedWishSummaryBuilder /// /// 常驻祈愿 /// - public static readonly Func IsPermanentWish = type => type is GachaConfigType.PermanentWish; + public static readonly Func IsPermanentWish = type => type is GachaConfigType.StandardWish; /// /// 角色活动 diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs index 7d3f62d4..1ca8a677 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs @@ -39,7 +39,7 @@ internal class GachaLogService : IGachaLogService private static readonly ImmutableList QueryTypes = new List { GachaConfigType.NoviceWish, - GachaConfigType.PermanentWish, + GachaConfigType.StandardWish, GachaConfigType.AvatarEventWish, GachaConfigType.WeaponEventWish, }.ToImmutableList(); @@ -193,7 +193,7 @@ internal class GachaLogService : IGachaLogService GachaArchive? archive = null; SkipOrInitArchive(ref archive, uid); - Guid archiveId = Must.NotNull(archive!).InnerId; + Guid archiveId = archive.InnerId; long trimId = appDbContext.GachaItems .Where(i => i.ArchiveId == archiveId) diff --git a/src/Snap.Hutao/Snap.Hutao/View/Control/StatisticsCard.xaml b/src/Snap.Hutao/Snap.Hutao/View/Control/StatisticsCard.xaml index 6890c541..a730133a 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Control/StatisticsCard.xaml +++ b/src/Snap.Hutao/Snap.Hutao/View/Control/StatisticsCard.xaml @@ -288,11 +288,16 @@ Text="{Binding AverageOrangePullFormatted}"/> - + + + Text="{Binding AverageUpOrangePullFormatted}" + Visibility="{x:Bind ShowUpPull, Converter={StaticResource BoolToVisibilityConverter}}"/> public sealed partial class StatisticsCard : UserControl { + private static readonly DependencyProperty ShowUpPullProperty = Property.Depend(nameof(ShowUpPull), true); + /// /// 构造一个新的统计卡片 /// @@ -17,4 +21,13 @@ public sealed partial class StatisticsCard : UserControl { InitializeComponent(); } + + /// + /// 显示Up抽数 + /// + public bool ShowUpPull + { + get { return (bool)GetValue(ShowUpPullProperty); } + set { SetValue(ShowUpPullProperty, value); } + } } diff --git a/src/Snap.Hutao/Snap.Hutao/View/Dialog/AdoptCalculatorDialog.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/Dialog/AdoptCalculatorDialog.xaml.cs index 6df4bd74..af6299b4 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Dialog/AdoptCalculatorDialog.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/View/Dialog/AdoptCalculatorDialog.xaml.cs @@ -51,13 +51,16 @@ public sealed partial class AdoptCalculatorDialog : ContentDialog coreWebView2.SetCookie(user.CookieToken, user.Ltoken, null).SetMobileUserAgent(); jsInterface = new(coreWebView2, scope.ServiceProvider); + jsInterface.ClosePageRequested += OnClosePageRequested; -#if DEBUG - coreWebView2.OpenDevToolsWindow(); -#endif coreWebView2.Navigate($"http://webstatic.mihoyo.com/ys/event/e20200923adopt_calculator/index.html?bbs_presentation_style=fullscreen&bbs_auth_required=true&&utm_source=bbs&utm_medium=mys&utm_campaign=GameRecord"); } + private void OnClosePageRequested() + { + ThreadHelper.InvokeOnMainThread(Hide); + } + private void OnContentDialogClosed(ContentDialog sender, ContentDialogClosedEventArgs args) { jsInterface = null; diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/GachaLogPage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/GachaLogPage.xaml index 1cc2adac..1db9dcfd 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Page/GachaLogPage.xaml +++ b/src/Snap.Hutao/Snap.Hutao/View/Page/GachaLogPage.xaml @@ -102,7 +102,8 @@ + DataContext="{Binding Statistics.StandardWish}" + ShowUpPull="False"/> diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml index 144f2ca3..70861e4d 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml +++ b/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml @@ -17,6 +17,7 @@