From eeed58ed71b749e6562da7b5970af75ceaf0245e Mon Sep 17 00:00:00 2001 From: qhy040404 Date: Wed, 20 Dec 2023 09:13:38 +0800 Subject: [PATCH] maybe code style --- .../Hoyolab => Model/Intrinsic}/RegionType.cs | 2 +- .../Snap.Hutao/Resource/Localization/SH.resx | 18 ++++++++ .../Abstraction/IAnnouncementService.cs | 2 +- .../Snap.Hutao/Service/AnnouncementService.cs | 2 +- .../Snap.Hutao/Service/AppOptions.cs | 4 +- .../Service/SupportedRegionTypes.cs | 41 +++++++++++++++++++ .../ViewModel/Setting/SettingViewModel.cs | 2 +- .../Common/Announcement/AnnouncementClient.cs | 1 + 8 files changed, 66 insertions(+), 6 deletions(-) rename src/Snap.Hutao/Snap.Hutao/{Web/Hoyolab => Model/Intrinsic}/RegionType.cs (85%) create mode 100644 src/Snap.Hutao/Snap.Hutao/Service/SupportedRegionTypes.cs diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/RegionType.cs b/src/Snap.Hutao/Snap.Hutao/Model/Intrinsic/RegionType.cs similarity index 85% rename from src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/RegionType.cs rename to src/Snap.Hutao/Snap.Hutao/Model/Intrinsic/RegionType.cs index 565aa9c3..5022a74f 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/RegionType.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Intrinsic/RegionType.cs @@ -1,7 +1,7 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -namespace Snap.Hutao.Web.Hoyolab; +namespace Snap.Hutao.Model.Intrinsic; [HighQuality] internal enum RegionType diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx index 3962d02a..a949046c 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx @@ -355,6 +355,24 @@ 一星 + + 国服 官方服 + + + 国服 渠道服 + + + 国际服 亚服 + + + 国际服 台服 + + + 国际服 欧服 + + + 国际服 美服 + Need EXACT same string in game diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Abstraction/IAnnouncementService.cs b/src/Snap.Hutao/Snap.Hutao/Service/Abstraction/IAnnouncementService.cs index 3c86893a..65efd10f 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Abstraction/IAnnouncementService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Abstraction/IAnnouncementService.cs @@ -1,7 +1,7 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using Snap.Hutao.Web.Hoyolab; +using Snap.Hutao.Model.Intrinsic; using Snap.Hutao.Web.Hoyolab.Hk4e.Common.Announcement; namespace Snap.Hutao.Service.Abstraction; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/AnnouncementService.cs b/src/Snap.Hutao/Snap.Hutao/Service/AnnouncementService.cs index aac92b84..49b1d9b2 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/AnnouncementService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/AnnouncementService.cs @@ -2,8 +2,8 @@ // Licensed under the MIT license. using Microsoft.Extensions.Caching.Memory; +using Snap.Hutao.Model.Intrinsic; using Snap.Hutao.Service.Abstraction; -using Snap.Hutao.Web.Hoyolab; using Snap.Hutao.Web.Hoyolab.Hk4e.Common.Announcement; using Snap.Hutao.Web.Response; using System.Globalization; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/AppOptions.cs b/src/Snap.Hutao/Snap.Hutao/Service/AppOptions.cs index 6c9c7965..a6646454 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/AppOptions.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/AppOptions.cs @@ -5,8 +5,8 @@ using Microsoft.Extensions.Primitives; using Snap.Hutao.Core.Windowing; using Snap.Hutao.Model; using Snap.Hutao.Model.Entity; +using Snap.Hutao.Model.Intrinsic; using Snap.Hutao.Service.Abstraction; -using Snap.Hutao.Web.Hoyolab; using System.Globalization; using System.IO; @@ -74,7 +74,7 @@ internal sealed partial class AppOptions : DbStoreOptions set => SetOption(ref currentCulture, SettingEntry.Culture, value, value => value.Name); } - public List> RegionTypes { get; } = CollectionsNameValue.FromEnum(); + public List> RegionTypes { get; } = SupportedRegionTypes.Get(); public RegionType RegionType { diff --git a/src/Snap.Hutao/Snap.Hutao/Service/SupportedRegionTypes.cs b/src/Snap.Hutao/Snap.Hutao/Service/SupportedRegionTypes.cs new file mode 100644 index 00000000..5e585cf7 --- /dev/null +++ b/src/Snap.Hutao/Snap.Hutao/Service/SupportedRegionTypes.cs @@ -0,0 +1,41 @@ +// Copyright (c) DGP Studio. All rights reserved. +// Licensed under the MIT license. + +using Snap.Hutao.Model; +using Snap.Hutao.Model.Intrinsic; + +namespace Snap.Hutao.Service; + +internal static class SupportedRegionTypes +{ + private static readonly List> Cultures = + [ + ToNameValue(RegionType.CN_GF01), + ToNameValue(RegionType.CN_QD01), + ToNameValue(RegionType.OS_USA), + ToNameValue(RegionType.OS_EURO), + ToNameValue(RegionType.OS_ASIA), + ToNameValue(RegionType.OS_CHT), + ]; + + public static List> Get() + { + return Cultures; + } + + private static NameValue ToNameValue(RegionType regionType) + { + return new( + regionType switch + { + RegionType.CN_GF01 => SH.ModelIntrinsicRegionTypeCnGf01, + RegionType.CN_QD01 => SH.ModelIntrinsicRegionTypeCnQd01, + RegionType.OS_USA => SH.ModelIntrinsicRegionTypeOsUsa, + RegionType.OS_EURO => SH.ModelIntrinsicRegionTypeOsEuro, + RegionType.OS_ASIA => SH.ModelIntrinsicRegionTypeOsAsia, + RegionType.OS_CHT => SH.ModelIntrinsicRegionTypeOsCht, + _ => SH.ModelIntrinsicRegionTypeCnGf01, + }, + regionType); + } +} \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/Setting/SettingViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/Setting/SettingViewModel.cs index 78eca7d3..4a4613c8 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/Setting/SettingViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/Setting/SettingViewModel.cs @@ -13,6 +13,7 @@ using Snap.Hutao.Core.Windowing.HotKey; using Snap.Hutao.Factory.ContentDialog; using Snap.Hutao.Factory.Picker; using Snap.Hutao.Model; +using Snap.Hutao.Model.Intrinsic; using Snap.Hutao.Service; using Snap.Hutao.Service.GachaLog.QueryProvider; using Snap.Hutao.Service.Game; @@ -23,7 +24,6 @@ using Snap.Hutao.Service.Notification; using Snap.Hutao.Service.User; using Snap.Hutao.View.Dialog; using Snap.Hutao.ViewModel.Guide; -using Snap.Hutao.Web.Hoyolab; using Snap.Hutao.Web.Hutao; using Snap.Hutao.Web.Response; using System.Globalization; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Hk4e/Common/Announcement/AnnouncementClient.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Hk4e/Common/Announcement/AnnouncementClient.cs index 417d6137..74711855 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Hk4e/Common/Announcement/AnnouncementClient.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Hk4e/Common/Announcement/AnnouncementClient.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. using Snap.Hutao.Core.DependencyInjection.Annotation.HttpClient; +using Snap.Hutao.Model.Intrinsic; using Snap.Hutao.Web.Request.Builder; using Snap.Hutao.Web.Request.Builder.Abstraction; using Snap.Hutao.Web.Response;