From a8b679acbf727ff98036a33d0150b12080aeb7e6 Mon Sep 17 00:00:00 2001 From: DismissedLight <1686188646@qq.com> Date: Thu, 7 Sep 2023 21:51:18 +0800 Subject: [PATCH] fix #904 --- .../Snap.Hutao/Model/NameValueDefaults.cs | 11 +++++++++++ .../Snap.Hutao/Properties/launchSettings.json | 2 +- .../Resource/Localization/SH.Designer.cs | 18 ++++++++++++++++++ .../Snap.Hutao/Resource/Localization/SH.resx | 6 ++++++ .../Factory/SummaryAvatarFactory.cs | 5 +++-- .../AvatarInfo/Factory/SummaryHelper.cs | 19 +++++-------------- .../View/Page/AvatarPropertyPage.xaml | 10 ++++++++-- src/Snap.Hutao/Snap.Hutao/View/UserView.xaml | 3 ++- .../AvatarProperty/NameDescription.cs | 4 ++++ 9 files changed, 58 insertions(+), 20 deletions(-) create mode 100644 src/Snap.Hutao/Snap.Hutao/Model/NameValueDefaults.cs diff --git a/src/Snap.Hutao/Snap.Hutao/Model/NameValueDefaults.cs b/src/Snap.Hutao/Snap.Hutao/Model/NameValueDefaults.cs new file mode 100644 index 00000000..feb98045 --- /dev/null +++ b/src/Snap.Hutao/Snap.Hutao/Model/NameValueDefaults.cs @@ -0,0 +1,11 @@ +// Copyright (c) DGP Studio. All rights reserved. +// Licensed under the MIT license. + +namespace Snap.Hutao.Model; + +internal sealed class NameValueDefaults +{ + private static readonly NameValue StringValue = new(SH.ModelNameValueDefaultName, SH.ModelNameValueDefaultDescription); + + public static NameValue String => StringValue; +} \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Properties/launchSettings.json b/src/Snap.Hutao/Snap.Hutao/Properties/launchSettings.json index a5fb2a14..36a6b395 100644 --- a/src/Snap.Hutao/Snap.Hutao/Properties/launchSettings.json +++ b/src/Snap.Hutao/Snap.Hutao/Properties/launchSettings.json @@ -2,7 +2,7 @@ "profiles": { "Snap.Hutao": { "commandName": "MsixPackage", - "nativeDebugging": false, + "nativeDebugging": true, "doNotLaunchApp": false, "allowLocalNetworkLoopbackProperty": true }, diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs index 96013c45..2aa9c937 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs @@ -861,6 +861,24 @@ namespace Snap.Hutao.Resource.Localization { } } + /// + /// 查找类似 请更新角色橱窗数据 的本地化字符串。 + /// + internal static string ModelNameValueDefaultDescription { + get { + return ResourceManager.GetString("ModelNameValueDefaultDescription", resourceCulture); + } + } + + /// + /// 查找类似 暂无数据 的本地化字符串。 + /// + internal static string ModelNameValueDefaultName { + get { + return ResourceManager.GetString("ModelNameValueDefaultName", resourceCulture); + } + } + /// /// 查找类似 精炼 {0} 阶 的本地化字符串。 /// diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx index 30339b4e..600d606f 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx @@ -413,6 +413,12 @@ 武器强化素材 Need EXACT same string in game + + 暂无数据 + + + 请更新角色橱窗数据 + 精炼 {0} 阶 diff --git a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryAvatarFactory.cs b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryAvatarFactory.cs index 61327acb..b35a0b4f 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryAvatarFactory.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryAvatarFactory.cs @@ -1,6 +1,7 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using Snap.Hutao.Model; using Snap.Hutao.Model.Intrinsic; using Snap.Hutao.Model.Metadata.Converter; using Snap.Hutao.Model.Primitive; @@ -145,7 +146,7 @@ internal sealed class SummaryAvatarFactory NameDescription subProperty; if (subStat is null) { - subProperty = new(string.Empty, string.Empty); + subProperty = NameDescription.Default; } else { @@ -168,7 +169,7 @@ internal sealed class SummaryAvatarFactory // EquipBase Level = $"Lv.{equip.Weapon.Level.Value}", Quality = weapon.Quality, - MainProperty = mainStat is not null ? FightPropertyFormat.ToNameValue(mainStat.AppendPropId, mainStat.StatValue) : default!, + MainProperty = mainStat is not null ? FightPropertyFormat.ToNameValue(mainStat.AppendPropId, mainStat.StatValue) : NameValueDefaults.String, // Weapon Id = weapon.Id, diff --git a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryHelper.cs b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryHelper.cs index cef19647..b8d79982 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryHelper.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryHelper.cs @@ -113,24 +113,15 @@ internal static class SummaryHelper return (maxId / 100000, delta) switch { - (5, 0) => 100F, - (5, 1) => 90F, - (5, 2) => 80F, - (5, 3) => 70F, - - (4, 0) => 100F, - (4, 1) => 90F, - (4, 2) => 80F, - (4, 3) => 70F, - - (3, 0) => 100F, - (3, 1) => 85F, - (3, 2) => 70F, + (5 or 4 or 3, 0) => 100F, + (5 or 4 or 3, 1) => 90F, + (5 or 4 or 3, 2) => 80F, + (5 or 4 or 3, 3) => 70F, (2, 0) => 100F, (2, 1) => 80F, - _ => throw Must.NeverHappen($"Unexpected AppendId: {appendId} Delta: {delta}"), + _ => throw Must.NeverHappen($"Unexpected AppendId: {appendId.Value} Delta: {delta}"), }; } diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/AvatarPropertyPage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/AvatarPropertyPage.xaml index 470d94ad..08284e88 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Page/AvatarPropertyPage.xaml +++ b/src/Snap.Hutao/Snap.Hutao/View/Page/AvatarPropertyPage.xaml @@ -410,15 +410,21 @@ + + 3 + 0 + 0 + 0 + diff --git a/src/Snap.Hutao/Snap.Hutao/View/UserView.xaml b/src/Snap.Hutao/Snap.Hutao/View/UserView.xaml index 238d8280..bc7fdbf7 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/UserView.xaml +++ b/src/Snap.Hutao/Snap.Hutao/View/UserView.xaml @@ -59,7 +59,8 @@ Margin="0,0,0,2" VerticalAlignment="Center" Text="{Binding SelectedUser.UserInfo.Nickname, Mode=OneWay}" - TextTrimming="CharacterEllipsis"/> + TextTrimming="CharacterEllipsis" + TextWrapping="NoWrap"/> internal class NameDescription { + private static readonly NameDescription DefaultValue = new(SH.ModelNameValueDefaultName, SH.ModelNameValueDefaultDescription); + /// /// 构造一个空的名称与描述 /// @@ -26,6 +28,8 @@ internal class NameDescription Description = description; } + public static NameDescription Default => DefaultValue; + /// /// 名称 ///