This commit is contained in:
CortexCore 2025-03-10 22:42:42 +08:00
parent ad7065fa02
commit d83387500d
16 changed files with 233 additions and 39 deletions

View File

@ -5,6 +5,7 @@ using BITKit.UX.Settings;
using Cysharp.Threading.Tasks; using Cysharp.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Net.BITKit.Localization;
using Net.Like.Xue.Tokyo.UX; using Net.Like.Xue.Tokyo.UX;
using Net.Project.B.UX; using Net.Project.B.UX;
using Project.B.Player; using Project.B.Player;
@ -61,6 +62,9 @@ namespace Net.Like.Xue.Tokyo
//获取服务提供者 //获取服务提供者
await using var serviceProvider = BITApp.ServiceProvider = serviceCollection.BuildServiceProvider(); await using var serviceProvider = BITApp.ServiceProvider = serviceCollection.BuildServiceProvider();
serviceProvider.GetRequiredService<CsvLocalizationService>().Url =
@"http://server.bitfall.icu:21982/net.like.xue.tokyo/net.like.xue.tokyo.localization.csv";
await global::Project.B.Program.BuildServiceProvider(serviceProvider,destroyCancellationToken); await global::Project.B.Program.BuildServiceProvider(serviceProvider,destroyCancellationToken);
var uxService = serviceProvider.GetRequiredService<IUXService>(); var uxService = serviceProvider.GetRequiredService<IUXService>();
@ -75,7 +79,7 @@ namespace Net.Like.Xue.Tokyo
serviceProvider.GetRequiredService<IUXHud>(); serviceProvider.GetRequiredService<IUXHud>();
serviceProvider.GetRequiredService<IUXDialogue>(); serviceProvider.GetRequiredService<IUXDialogue>().SubtitleLanguage="zh-CN";
serviceProvider.GetRequiredService<IUXLoadingMap>(); serviceProvider.GetRequiredService<IUXLoadingMap>();
@ -85,6 +89,8 @@ namespace Net.Like.Xue.Tokyo
serviceProvider.GetRequiredService<IUXBuyStation>(); serviceProvider.GetRequiredService<IUXBuyStation>();
serviceProvider.GetRequiredService<UXEscMenu>();
serviceProvider.GetRequiredKeyedService<IUXMap>(nameof(IUXHud)); serviceProvider.GetRequiredKeyedService<IUXMap>(nameof(IUXHud));
serviceProvider.GetRequiredKeyedService<IUXMap>(nameof(IUXMap)); serviceProvider.GetRequiredKeyedService<IUXMap>(nameof(IUXMap));

View File

@ -13,12 +13,18 @@ using UnityEngine;
using UnityEngine.InputSystem; using UnityEngine.InputSystem;
using UnityEngine.UIElements; using UnityEngine.UIElements;
using System.Linq; using System.Linq;
using BITKit.Entities;
using BITKit.Mod;
using Net.BITKit.Localization;
using YooAsset;
using IUXDialogue = Net.Project.B.UX.IUXDialogue; using IUXDialogue = Net.Project.B.UX.IUXDialogue;
namespace Net.Like.Xue.Tokyo.UX namespace Net.Like.Xue.Tokyo.UX
{ {
public class UXEscMenu : UIToolKitPanel,IDisposable public class UXEscMenu : UIToolKitPanel,IDisposable
{ {
private readonly IEntitiesService _entitiesService;
private readonly ILocalizationService _localizationService;
private readonly IDialogueService _dialogueService; private readonly IDialogueService _dialogueService;
private readonly IGameMapService _gameMapService; private readonly IGameMapService _gameMapService;
private readonly IUXDialogue _uxDialogue; private readonly IUXDialogue _uxDialogue;
@ -29,34 +35,89 @@ namespace Net.Like.Xue.Tokyo.UX
private readonly IUXKeyMap<InputAction> _uxKeyMap; private readonly IUXKeyMap<InputAction> _uxKeyMap;
private readonly ConcurrentDictionary<int, IDialogueData> _dialogues = new(); private readonly ConcurrentDictionary<int, IDialogueData> _dialogues = new();
[UXBindPath("dialogue-container")]
private VisualElement _dialogueContainer;
[UXBindPath("return-button")] [UXBindPath("return-button")]
private Button _returnButton; private Button _returnButton;
[UXBindPath("exit-button")] [UXBindPath("exit-button")]
private Button _exitButton; private Button _exitButton;
[UXBindPath("log-label")]
private Label _logLabel; private VisualTreeAsset _template;
public UXEscMenu(IUXService uxService, IUXDialogue uxDialogue, IGameMapService gameMapService, IUXKeyMap<InputAction> uxKeyMap, IDialogueService dialogueService) : base(uxService) public UXEscMenu(IUXService uxService, IUXDialogue uxDialogue, IGameMapService gameMapService, IUXKeyMap<InputAction> uxKeyMap, IDialogueService dialogueService, ILocalizationService localizationService, IEntitiesService entitiesService) : base(uxService)
{ {
_uxDialogue = uxDialogue; _uxDialogue = uxDialogue;
_gameMapService = gameMapService; _gameMapService = gameMapService;
_uxKeyMap = uxKeyMap; _uxKeyMap = uxKeyMap;
_dialogueService = dialogueService; _dialogueService = dialogueService;
_localizationService = localizationService;
_entitiesService = entitiesService;
_uxDialogue.OnSubtitle += OnSubtitle; _uxDialogue.OnSubtitle += OnSubtitle;
OnInitiated += Initiated; OnInitiated += Initiated;
OnInitiatedAsync += InitiatedAsync;
_dialogueService.OnDialogueStart += OnDialogueStart; _dialogueService.OnDialogueStart += OnDialogueStart;
}
private async UniTask InitiatedAsync()
{
_template =await ModService.LoadAsset<VisualTreeAsset>("ui_esc_menu_dialogue-template");
_dialogueContainer.Clear();
} }
private UniTask OnDialogueStart(IDialogueData arg) private UniTask OnDialogueStart(IDialogueData arg)
{ {
_dialogues.TryAdd(arg.Identity, arg); _dialogues.TryAdd(arg.Identity, arg);
_logLabel.text = string.Join("\n", _dialogues.Values.Select(x => x.Text));
var actorName = arg.ActorIdentity.ToString();
try
{
if (arg.ActorIdentity != 0)
{
foreach (var idComponent in _entitiesService.QueryComponents<IdComponent>())
{
if (idComponent.Id == arg.ActorIdentity)
{
actorName = idComponent.Name;
throw new OperationCanceledException();
}
}
}
actorName = _entitiesService.QueryComponents<IdComponent, LocalPlayerComponent>()[0].Item1.Name;
}
catch (OperationCanceledException)
{
}
var container = _dialogueContainer.Create(_template);
container.Get<Label>().text = actorName;
container = container.Get<VisualElement>();
container.Clear();
foreach (var dictionary in _localizationService.LocalizedStrings.Values)
{
if (dictionary.TryGetValue(arg.Text, out var text))
{
container.Create<Label>().text = text;
}
else
{
container.Create<Label>().text = arg.Text;
}
}
return UniTask.CompletedTask; return UniTask.CompletedTask;
} }

View File

@ -1,3 +1,42 @@
Button {
background-color: rgba(0, 0, 0, 0);
color: rgb(255, 255, 255);
border-left-color: rgba(255, 255, 255, 0.78);
border-right-color: rgba(255, 255, 255, 0.78);
border-top-color: rgba(255, 255, 255, 0.78);
border-bottom-color: rgba(255, 255, 255, 0.78);
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
}
Button:hover {
color: rgb(0, 0, 0);
border-left-color: rgba(255, 255, 255, 0.78);
border-right-color: rgba(255, 255, 255, 0.78);
border-top-color: rgba(255, 255, 255, 0.78);
border-bottom-color: rgba(255, 255, 255, 0.78);
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
background-color: rgb(255, 255, 255);
}
Button:active {
color: rgba(255, 255, 255, 0.5);
border-left-color: rgba(255, 255, 255, 0.78);
border-right-color: rgba(255, 255, 255, 0.78);
border-top-color: rgba(255, 255, 255, 0.78);
border-bottom-color: rgba(255, 255, 255, 0.78);
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
background-color: rgba(255, 255, 255, 0.5);
}
Label { Label {
-unity-font-definition: url("project://database/Assets/Artists/Arts/Fonts/Meiryo%20UI%20W53%20Regular%20SDF.asset?fileID=11400000&guid=80d4eed6ab6a2c248b81331b3aab1c8c&type=2#Meiryo UI W53 Regular SDF"); -unity-font-definition: url("project://database/Assets/Artists/Arts/Fonts/Meiryo%20UI%20W53%20Regular%20SDF.asset?fileID=11400000&guid=80d4eed6ab6a2c248b81331b3aab1c8c&type=2#Meiryo UI W53 Regular SDF");
} }
@ -15,9 +54,9 @@ Label {
margin-left: 0; margin-left: 0;
transition-duration: 0.2s; transition-duration: 0.2s;
-unity-background-scale-mode: scale-and-crop; -unity-background-scale-mode: scale-and-crop;
-unity-text-outline-width: 0.5px;
-unity-text-outline-color: rgba(0, 0, 0, 0);
height: auto; height: auto;
min-width: 256px;
font-size: 48px;
} }
.level-button > Button:hover { .level-button > Button:hover {
@ -42,7 +81,7 @@ Label {
color: rgb(128, 128, 128); color: rgb(128, 128, 128);
} }
Button { .lobby Button {
width: 300px; width: 300px;
height: 100px; height: 100px;
background-image: url("project://database/Assets/Arts/Artsystack%20-Modern%20Multiplayer%20GUI/ResourcesData/Sprites/components/button_yellow.png?fileID=21300000&guid=ad4e0d1615e1e9e4783475cbe9454ff6&type=3#button_yellow"); background-image: url("project://database/Assets/Arts/Artsystack%20-Modern%20Multiplayer%20GUI/ResourcesData/Sprites/components/button_yellow.png?fileID=21300000&guid=ad4e0d1615e1e9e4783475cbe9454ff6&type=3#button_yellow");
@ -53,14 +92,14 @@ Button {
border-left-width: 0; border-left-width: 0;
font-size: 32px; font-size: 32px;
color: rgb(255, 255, 255); color: rgb(255, 255, 255);
-unity-font-style: bold; -unity-font-definition: url("project://database/Assets/Artists/Arts/Fonts/Meiryo%20UI%20W53%20Regular%20SDF.asset?fileID=11400000&guid=80d4eed6ab6a2c248b81331b3aab1c8c&type=2#Meiryo UI W53 Regular SDF");
} }
Button:hover { .lobby Button:hover {
font-size: 36px; font-size: 36px;
} }
Button:active { .lobby Button:active {
opacity: 0.5; opacity: 0.5;
font-size: 32px; font-size: 32px;
} }
@ -75,8 +114,8 @@ TabBar > Button {
border-bottom-width: 0; border-bottom-width: 0;
border-left-width: 0; border-left-width: 0;
color: rgb(255, 255, 255); color: rgb(255, 255, 255);
-unity-font-style: bold-and-italic;
background-image: none; background-image: none;
-unity-font-style: italic;
} }
TabBar > Button:disabled { TabBar > Button:disabled {
@ -116,6 +155,10 @@ Button.color-secondary {
width: 200px; width: 200px;
height: 200px; height: 200px;
background-image: none; background-image: none;
margin-top: 12px;
margin-right: 12px;
margin-bottom: 12px;
margin-left: 12px;
} }
.inventory-item { .inventory-item {

View File

@ -1,8 +1,8 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False"> <ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False">
<Style src="project://database/Assets/BITKit/Unity/UX/Common/Common.uss?fileID=7433441132597879392&amp;guid=a3a69d3518fd02b489e721f3c5b0b539&amp;type=3#Common" /> <Style src="project://database/Assets/BITKit/Unity/UX/Common/Common.uss?fileID=7433441132597879392&amp;guid=a3a69d3518fd02b489e721f3c5b0b539&amp;type=3#Common" />
<Style src="project://database/Assets/Artists/UX/Style.uss?fileID=7433441132597879392&amp;guid=506d41b7c5d56a44bb5845e69055a5eb&amp;type=3#Style" /> <Style src="project://database/Assets/Artists/UX/Style.uss?fileID=7433441132597879392&amp;guid=506d41b7c5d56a44bb5845e69055a5eb&amp;type=3#Style" />
<ui:Button parse-escape-sequences="true" display-tooltip-when-elided="true" name="Button--0" class="cosmetics-button" style="background-image: url(&quot;project://database/Assets/Arts/Artsystack%20-Modern%20Multiplayer%20GUI/ResourcesData/Sprites/components/dr_box_1.png?fileID=21300000&amp;guid=9a95df3a0adf20d43adaf5df02b90c0f&amp;type=3#dr_box_1&quot;); margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0;"> <ui:Button parse-escape-sequences="true" display-tooltip-when-elided="true" name="Button--0" class="cosmetics-button" style="border-top-left-radius: 32px; border-top-right-radius: 32px; border-bottom-right-radius: 32px; border-bottom-left-radius: 32px; border-left-color: rgba(0, 155, 255, 0.78); border-right-color: rgba(0, 155, 255, 0.78); border-top-color: rgba(0, 155, 255, 0.78); border-bottom-color: rgba(0, 155, 255, 0.78); border-top-width: 8px; border-right-width: 8px; border-bottom-width: 8px; border-left-width: 8px; background-color: rgb(83, 236, 255); background-image: url(&quot;project://database/Assets/BITKit/Unity/Art/Backgrounds/BG_Gradient_Half_BT_.png?fileID=21300000&amp;guid=d19ac049792985540825b54b0b002529&amp;type=3#BG_Gradient_Half_BT_&quot;);">
<ui:VisualElement name="VisualElement--0" class="root" style="margin-top: 8px; margin-right: 8px; margin-bottom: 8px; margin-left: 8px; background-image: url(&quot;project://database/Assets/Arts/Artsystack%20-Modern%20Multiplayer%20GUI/ResourcesData/Sprites/colored_icon/coins%202.png?fileID=21300000&amp;guid=118635b51bd9c044582a7131270d3749&amp;type=3#coins 2&quot;);" /> <ui:VisualElement name="VisualElement--0" class="root" style="margin-top: 8px; margin-right: 8px; margin-bottom: 8px; margin-left: 8px; background-image: url(&quot;project://database/Assets/Arts/Artsystack%20-Modern%20Multiplayer%20GUI/ResourcesData/Sprites/colored_icon/coins%202.png?fileID=21300000&amp;guid=118635b51bd9c044582a7131270d3749&amp;type=3#coins 2&quot;); left: -8px; top: -8px; right: -8px; bottom: -8px;" />
<ui:Label tabindex="-1" text="Skin" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Label--0" style="position: absolute; left: 0; right: 0; bottom: 0; background-image: url(&quot;project://database/Assets/BITKit/Unity/Art/Backgrounds/BG_Gradient_Half_BT_.png?fileID=21300000&amp;guid=d19ac049792985540825b54b0b002529&amp;type=3#BG_Gradient_Half_BT_&quot;); -unity-background-image-tint-color: rgb(0, 0, 0);" /> <ui:Label tabindex="-1" text="Skin" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Label--0" style="position: absolute; left: -4px; right: -4px; bottom: -4px; background-image: url(&quot;project://database/Assets/BITKit/Unity/Art/Backgrounds/BG_Gradient_Half_BT_.png?fileID=21300000&amp;guid=d19ac049792985540825b54b0b002529&amp;type=3#BG_Gradient_Half_BT_&quot;); -unity-background-image-tint-color: rgb(0, 0, 0); font-size: 24px;" />
</ui:Button> </ui:Button>
</ui:UXML> </ui:UXML>

View File

@ -1,3 +1,9 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../UIElementsSchema/UIElements.xsd" editor-extension-mode="False"> <ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<ui:VisualElement name="cosmetics-container" style="flex-direction: row; flex-wrap: wrap; width: 512px;" /> <ui:Template name="ui_cosmetics-template" src="project://database/Assets/Artists/UX/ui_cosmetics-template.uxml?fileID=9197481963319205126&amp;guid=7bc8fe7ad4997e34cb78a89ef29419ab&amp;type=3#ui_cosmetics-template" />
<ui:VisualElement name="cosmetics-container" style="width: 512px; flex-direction: row; flex-wrap: wrap;">
<ui:Instance template="ui_cosmetics-template" name="ui_cosmetics-template" />
<ui:Instance template="ui_cosmetics-template" name="ui_cosmetics-template" />
<ui:Instance template="ui_cosmetics-template" name="ui_cosmetics-template" />
<ui:Instance template="ui_cosmetics-template" name="ui_cosmetics-template" />
</ui:VisualElement>
</ui:UXML> </ui:UXML>

View File

@ -0,0 +1,10 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False">
<Kamgam.UIToolkitBlurredBackground.BlurredBackground Blur-Tint="#000000C8" style="min-height: 64px; padding-top: 8px; padding-right: 8px; padding-bottom: 8px; padding-left: 8px;">
<ui:Label tabindex="-1" text="Label" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Label--0" class="tl" />
<ui:VisualElement name="VisualElement--0">
<ui:Label tabindex="-1" text="Chinese" parse-escape-sequences="true" display-tooltip-when-elided="true" enable-rich-text="false" />
<ui:Label tabindex="-1" text="Japanese" parse-escape-sequences="true" display-tooltip-when-elided="true" />
<ui:Label tabindex="-1" text="English" parse-escape-sequences="true" display-tooltip-when-elided="true" />
</ui:VisualElement>
</Kamgam.UIToolkitBlurredBackground.BlurredBackground>
</ui:UXML>

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 024cac2b9659e2d4595f190bafb2508e
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@ -1,8 +1,8 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../UIElementsSchema/UIElements.xsd" editor-extension-mode="False"> <ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<Style src="project://database/Assets/BITKit/Unity/UX/Common/Common.uss?fileID=7433441132597879392&amp;guid=a3a69d3518fd02b489e721f3c5b0b539&amp;type=3#Common" /> <Style src="project://database/Assets/BITKit/Unity/UX/Common/Common.uss?fileID=7433441132597879392&amp;guid=a3a69d3518fd02b489e721f3c5b0b539&amp;type=3#Common" />
<Style src="project://database/Assets/Artists/UX/Style.uss?fileID=7433441132597879392&amp;guid=506d41b7c5d56a44bb5845e69055a5eb&amp;type=3#Style" /> <Style src="project://database/Assets/Artists/UX/Style.uss?fileID=7433441132597879392&amp;guid=506d41b7c5d56a44bb5845e69055a5eb&amp;type=3#Style" />
<ui:VisualElement class="root"> <ui:VisualElement picking-mode="Ignore" class="root" style="right: 20%;">
<ui:VisualElement name="level-container" class="level-button" style="flex-direction: row; justify-content: flex-start; flex-grow: 1; align-items: stretch;"> <ui:VisualElement name="level-container" picking-mode="Ignore" class="level-button" style="flex-direction: row; justify-content: flex-start; flex-grow: 1; align-items: stretch;">
<ui:Button text="秋叶原" parse-escape-sequences="true" display-tooltip-when-elided="true" view-data-key="map_city_crossing" style="background-image: url(&quot;project://database/Assets/Artists/Arts/Textures/texture_akiba.jpg?fileID=21300000&amp;guid=4f4c68ed2c65cee4d98fa5dc45e00c8b&amp;type=3#texture_akiba&quot;);" /> <ui:Button text="秋叶原" parse-escape-sequences="true" display-tooltip-when-elided="true" view-data-key="map_city_crossing" style="background-image: url(&quot;project://database/Assets/Artists/Arts/Textures/texture_akiba.jpg?fileID=21300000&amp;guid=4f4c68ed2c65cee4d98fa5dc45e00c8b&amp;type=3#texture_akiba&quot;);" />
<ui:Button text="街道" parse-escape-sequences="true" display-tooltip-when-elided="true" view-data-key="map_street" style="background-image: url(&quot;project://database/Assets/Artists/Arts/Textures/texture_street.jpg?fileID=21300000&amp;guid=4b7dac409ae6a5849b3088d55792c00b&amp;type=3#texture_street&quot;);" /> <ui:Button text="街道" parse-escape-sequences="true" display-tooltip-when-elided="true" view-data-key="map_street" style="background-image: url(&quot;project://database/Assets/Artists/Arts/Textures/texture_street.jpg?fileID=21300000&amp;guid=4b7dac409ae6a5849b3088d55792c00b&amp;type=3#texture_street&quot;);" />
<ui:Button text="郊区" parse-escape-sequences="true" display-tooltip-when-elided="true" style="background-image: url(&quot;project://database/Assets/Artists/Arts/Textures/texture_suburb.jpg?fileID=21300000&amp;guid=8de2e8ea76d2fbb4f946bfb49bab55fd&amp;type=3#texture_suburb&quot;);" /> <ui:Button text="郊区" parse-escape-sequences="true" display-tooltip-when-elided="true" style="background-image: url(&quot;project://database/Assets/Artists/Arts/Textures/texture_suburb.jpg?fileID=21300000&amp;guid=8de2e8ea76d2fbb4f946bfb49bab55fd&amp;type=3#texture_suburb&quot;);" />

View File

@ -1,17 +1,20 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../UIElementsSchema/UIElements.xsd" editor-extension-mode="False"> <ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<ui:Template name="ui_esc_menu_dialogue-template" src="project://database/Assets/Artists/UX/ui_esc_menu_dialogue-template.uxml?fileID=9197481963319205126&amp;guid=024cac2b9659e2d4595f190bafb2508e&amp;type=3#ui_esc_menu_dialogue-template" />
<Style src="project://database/Assets/BITKit/Unity/UX/Common/Common.uss?fileID=7433441132597879392&amp;guid=a3a69d3518fd02b489e721f3c5b0b539&amp;type=3#Common" /> <Style src="project://database/Assets/BITKit/Unity/UX/Common/Common.uss?fileID=7433441132597879392&amp;guid=a3a69d3518fd02b489e721f3c5b0b539&amp;type=3#Common" />
<Style src="project://database/Assets/Artists/UX/Style.uss?fileID=7433441132597879392&amp;guid=506d41b7c5d56a44bb5845e69055a5eb&amp;type=3#Style" /> <Style src="project://database/Assets/Artists/UX/Style.uss?fileID=7433441132597879392&amp;guid=506d41b7c5d56a44bb5845e69055a5eb&amp;type=3#Style" />
<ui:VisualElement name="Shadow" picking-mode="Ignore" class="default-background" /> <ui:VisualElement name="Shadow" picking-mode="Ignore" class="default-background" />
<ui:VisualElement class="flex-center" style="flex-direction: row;"> <ui:VisualElement class="flex-center" style="flex-direction: row; min-height: 512px; min-width: 1024px;">
<ui:VisualElement style="min-width: 512px;"> <ui:VisualElement style="min-width: 512px; flex-grow: 1;">
<ui:Label tabindex="-1" text="对话日志:" parse-escape-sequences="true" display-tooltip-when-elided="true" class="tl" /> <ui:Label tabindex="-1" text="对话日志:" parse-escape-sequences="true" display-tooltip-when-elided="true" class="tl" style="font-size: 44px;" />
<ui:VisualElement style="flex-grow: 1;"> <ui:VisualElement style="flex-grow: 1;">
<ui:ScrollView> <ui:ScrollView>
<ui:Label tabindex="-1" text="等待对话中" parse-escape-sequences="true" display-tooltip-when-elided="true" name="log-label" class="tl" /> <ui:VisualElement name="dialogue-container">
<ui:Instance template="ui_esc_menu_dialogue-template" name="ui_esc_menu_dialogue-template" />
</ui:VisualElement>
</ui:ScrollView> </ui:ScrollView>
</ui:VisualElement> </ui:VisualElement>
</ui:VisualElement> </ui:VisualElement>
<ui:VisualElement> <ui:VisualElement style="width: 256px;">
<ui:Button text="返回游戏" parse-escape-sequences="true" display-tooltip-when-elided="true" name="return-button" /> <ui:Button text="返回游戏" parse-escape-sequences="true" display-tooltip-when-elided="true" name="return-button" />
<ui:VisualElement style="flex-grow: 1;" /> <ui:VisualElement style="flex-grow: 1;" />
<ui:Button text="返回主菜单" parse-escape-sequences="true" display-tooltip-when-elided="true" name="exit-button" /> <ui:Button text="返回主菜单" parse-escape-sequences="true" display-tooltip-when-elided="true" name="exit-button" />

View File

@ -1,6 +1,10 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False"> <ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False">
<ui:VisualElement style="flex-direction: row; align-items: center; font-size: 20px;"> <ui:VisualElement style="flex-direction: row; align-items: center; font-size: 20px; margin-top: 4px; margin-right: 5px; margin-bottom: 5px; margin-left: 5px;">
<ui:Label tabindex="-1" text="Actor" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Label--0" /> <ui:Label tabindex="-1" text="Actor" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Label--0" style="margin-top: 4px; margin-right: 4px; margin-bottom: 4px; margin-left: 4px; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; -unity-text-align: middle-left;" />
<ui:Label tabindex="-1" text="Statement" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Label--1" style="white-space: normal;" /> <ui:Label tabindex="-1" text=":" parse-escape-sequences="true" display-tooltip-when-elided="true" style="margin-top: 4px; margin-right: 4px; margin-bottom: 4px; margin-left: 4px; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; -unity-text-align: middle-left;" />
<ui:VisualElement style="flex-grow: 1;">
<ui:Label tabindex="-1" text="Statement" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Label--1" style="white-space: normal; margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; -unity-text-align: middle-left;" />
<ui:Label tabindex="-1" text="Subtitle" parse-escape-sequences="true" display-tooltip-when-elided="true" name="Label--2" style="white-space: normal; margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; -unity-text-align: middle-left;" />
</ui:VisualElement>
</ui:VisualElement> </ui:VisualElement>
</ui:UXML> </ui:UXML>

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@
<Style src="project://database/Assets/BITKit/Unity/UX/Common/Common.uss?fileID=7433441132597879392&amp;guid=a3a69d3518fd02b489e721f3c5b0b539&amp;type=3#Common" /> <Style src="project://database/Assets/BITKit/Unity/UX/Common/Common.uss?fileID=7433441132597879392&amp;guid=a3a69d3518fd02b489e721f3c5b0b539&amp;type=3#Common" />
<Style src="project://database/Assets/Artists/UX/Style.uss?fileID=7433441132597879392&amp;guid=506d41b7c5d56a44bb5845e69055a5eb&amp;type=3#Style" /> <Style src="project://database/Assets/Artists/UX/Style.uss?fileID=7433441132597879392&amp;guid=506d41b7c5d56a44bb5845e69055a5eb&amp;type=3#Style" />
<ui:VisualElement> <ui:VisualElement>
<ui:Button text="开始" parse-escape-sequences="true" display-tooltip-when-elided="true" name="play-button" /> <ui:Button text="开始" parse-escape-sequences="true" display-tooltip-when-elided="true" name="play-button" view-data-key="Lobby_Play" class="localized" />
</ui:VisualElement> </ui:VisualElement>
<ui:VisualElement name="money-container" class="money-container" style="flex-direction: row-reverse; width: 450px; justify-content: space-between;"> <ui:VisualElement name="money-container" class="money-container" style="flex-direction: row-reverse; width: 450px; justify-content: space-between;">
<ui:VisualElement style="width: 200px; height: 48px; background-image: url(&quot;project://database/Assets/Arts/Artsystack%20-Modern%20Multiplayer%20GUI/ResourcesData/Sprites/components/Rounded%20Rectangle%201.png?fileID=21300000&amp;guid=7766860c1224b1e42b0d77fa49d9e350&amp;type=3#Rounded Rectangle 1&quot;);"> <ui:VisualElement style="width: 200px; height: 48px; background-image: url(&quot;project://database/Assets/Arts/Artsystack%20-Modern%20Multiplayer%20GUI/ResourcesData/Sprites/components/Rounded%20Rectangle%201.png?fileID=21300000&amp;guid=7766860c1224b1e42b0d77fa49d9e350&amp;type=3#Rounded Rectangle 1&quot;);">

View File

@ -15,6 +15,7 @@ GameObject:
- component: {fileID: 8728660391319503135} - component: {fileID: 8728660391319503135}
- component: {fileID: 8259535070200094537} - component: {fileID: 8259535070200094537}
- component: {fileID: 2417275751680684476} - component: {fileID: 2417275751680684476}
- component: {fileID: 5977350367222496110}
m_Layer: 0 m_Layer: 0
m_Name: turnstile m_Name: turnstile
m_TagString: Untagged m_TagString: Untagged
@ -168,6 +169,27 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 230e015069b45484f9c85d1aba1e901c, type: 3} m_Script: {fileID: 11500000, guid: 230e015069b45484f9c85d1aba1e901c, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
--- !u!114 &5977350367222496110
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1070295965451434600}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 054d7fc7589c04d4a8412a6f82b32d6c, type: 3}
m_Name:
m_EditorClassIdentifier:
worldNode:
rid: 7572707351853268997
references:
version: 2
RefIds:
- rid: 7572707351853268997
type: {class: WorldInteractable, ns: Net.Project.B.Interaction, asm: Com.Project.B.Interaction}
data:
gameObject: {fileID: 1070295965451434600}
--- !u!1 &2321091284981815580 --- !u!1 &2321091284981815580
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -611,6 +611,10 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 2119821103} m_TransformParent: {fileID: 2119821103}
m_Modifications: m_Modifications:
- target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3}
propertyPath: m_LocalScale.x
value: -1
objectReference: {fileID: 0}
- target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3} - target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
value: 3.302002 value: 3.302002
@ -2299,6 +2303,10 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 1852363615} m_TransformParent: {fileID: 1852363615}
m_Modifications: m_Modifications:
- target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3}
propertyPath: m_LocalScale.x
value: -1
objectReference: {fileID: 0}
- target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3} - target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
value: 0.16320038 value: 0.16320038
@ -23044,7 +23052,7 @@ MonoBehaviour:
_version: 3.29 _version: 3.29
_category: _category:
_comments: _comments:
_translation: {x: -256.26492, y: 269.98517} _translation: {x: -598.89166, y: -3123.5815}
_zoomFactor: 1 _zoomFactor: 1
_firstActivation: 2 _firstActivation: 2
_enableAction: 1 _enableAction: 1
@ -26940,6 +26948,10 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 1852363615} m_TransformParent: {fileID: 1852363615}
m_Modifications: m_Modifications:
- target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3}
propertyPath: m_LocalScale.x
value: -1
objectReference: {fileID: 0}
- target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3} - target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
value: 0.16320038 value: 0.16320038
@ -51377,7 +51389,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_serializedExposedParameters: [] _serializedExposedParameters: []
_boundGraphSerialization: '{"type":"NodeCanvas.DialogueTrees.DialogueTree","nodes":[{"sprite":1,"text":"\u718a\u5df4\u514b\u5077\u8d70\u4e86\u7f8a\u987f\u6751\u5e84\u6700\u91cd\u8981\u7684\u9ec4\u91d1\u82f9\u679c","_position":{"x":636.0001,"y":126.0},"$type":"Net.Project.B.DialogueTrees.ComicNode","$id":"0"},{"sprite":2,"text":"\u5e76\u628a\u5b83\u85cf\u5728\u4e1c\u4eac\u7684\u795e\u79d8\u5927\u697c\u91cc","_position":{"x":683.9999,"y":286.0},"$type":"Net.Project.B.DialogueTrees.ComicNode","$id":"1"},{"sprite":3,"text":"\u718a\u5df4\u514b\u628a\u94a5\u5319\u5206\u6210\u516d\u5206\u5206\u7ed9\u4e86\u4ed6\u7684\u624b\u4e0b","_position":{"x":668.9572,"y":414.6667},"$type":"Net.Project.B.DialogueTrees.ComicNode","$id":"2"},{"sprite":4,"text":"\u7f8a\u987f\u7235\u58eb\u6765\u4e1c\u4eac\u90fd\u627e\u56de\u5931\u53bb\u7684\u9ec4\u91d1\u82f9\u679c","_position":{"x":653.3333,"y":550.0},"$type":"Net.Project.B.DialogueTrees.ComicNode","$id":"3"},{"statement":{"_text":"\u5230\u4e86,\u8fd9\u91cc\u662f\u4e1c\u4eac\u673a\u573a"},"_position":{"x":686.0084,"y":708.5991},"$type":"NodeCanvas.DialogueTrees.StatementNode","$id":"4"},{"_action":{"QuestIdentity":{"_value":1},"QuestName":{"_value":"\u5165\u56fd\u5ba1\u67e5"},"QuestDescription":{"_value":"\u53bb\u627e\u5165\u56fd\u5ba1\u67e5\u5b98\u5728\u54ea"},"$type":"Net.Project.B.Quest.CreateQuestNode"},"_position":{"x":685.9598,"y":818.8442},"$type":"NodeCanvas.DialogueTrees.ActionNode","$id":"5"},{"_action":{"items":{"_value":[5,6]},"$type":"Net.Project.B.NodeCanvas.GiveItemTask"},"_position":{"x":728.5936,"y":949.6541},"$type":"NodeCanvas.DialogueTrees.ActionNode","$id":"6"}],"connections":[{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.DialogueTrees.DTConnection"},{"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.DialogueTrees.DTConnection"},{"_sourceNode":{"$ref":"2"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.DialogueTrees.DTConnection"},{"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"4"},"$type":"NodeCanvas.DialogueTrees.DTConnection"},{"_sourceNode":{"$ref":"4"},"_targetNode":{"$ref":"5"},"$type":"NodeCanvas.DialogueTrees.DTConnection"},{"_sourceNode":{"$ref":"5"},"_targetNode":{"$ref":"6"},"$type":"NodeCanvas.DialogueTrees.DTConnection"}],"canvasGroups":[],"localBlackboard":{"_variables":{}},"derivedData":{"actorParameters":[],"$type":"NodeCanvas.DialogueTrees.DialogueTree+DerivedSerializationData"}}' _boundGraphSerialization: '{"type":"NodeCanvas.DialogueTrees.DialogueTree","nodes":[{"sprite":1,"text":"\u718a\u5df4\u514b\u5077\u8d70\u4e86\u7f8a\u987f\u6751\u5e84\u6700\u91cd\u8981\u7684\u9ec4\u91d1\u82f9\u679c","_position":{"x":636.0001,"y":126.0},"$type":"Net.Project.B.DialogueTrees.ComicNode","$id":"0"},{"sprite":2,"text":"\u5e76\u628a\u5b83\u85cf\u5728\u4e1c\u4eac\u7684\u795e\u79d8\u5927\u697c\u91cc","_position":{"x":683.9999,"y":286.0},"$type":"Net.Project.B.DialogueTrees.ComicNode","$id":"1"},{"sprite":3,"text":"\u718a\u5df4\u514b\u628a\u94a5\u5319\u5206\u6210\u516d\u5206\u5206\u7ed9\u4e86\u4ed6\u7684\u624b\u4e0b","_position":{"x":668.9572,"y":414.6667},"$type":"Net.Project.B.DialogueTrees.ComicNode","$id":"2"},{"sprite":4,"text":"\u7f8a\u987f\u7235\u58eb\u6765\u4e1c\u4eac\u90fd\u627e\u56de\u5931\u53bb\u7684\u9ec4\u91d1\u82f9\u679c","_position":{"x":653.3333,"y":550.0},"$type":"Net.Project.B.DialogueTrees.ComicNode","$id":"3"},{"statement":{"_text":"\u5230\u4e86,\u8fd9\u91cc\u662f\u4e1c\u4eac\u673a\u573a"},"_position":{"x":686.0084,"y":708.5991},"$type":"NodeCanvas.DialogueTrees.StatementNode","$id":"4"},{"_action":{"QuestIdentity":{"_value":1},"QuestName":{"_value":"\u5165\u56fd\u5ba1\u67e5"},"QuestDescription":{"_value":"\u53bb\u627e\u5165\u56fd\u5ba1\u67e5\u5b98\u5728\u54ea"},"$type":"Net.Project.B.Quest.CreateQuestNode"},"_position":{"x":685.9598,"y":818.8442},"$type":"NodeCanvas.DialogueTrees.ActionNode","$id":"5"},{"_action":{"items":{"_value":[5,6]},"$type":"Net.Project.B.NodeCanvas.GiveItemTask"},"_position":{"x":728.5936,"y":949.6541},"$type":"NodeCanvas.DialogueTrees.ActionNode","$id":"6"},{"statement":{"_text":"#Hello_World"},"_position":{"x":724.9006,"y":1104.043},"$type":"NodeCanvas.DialogueTrees.StatementNode","$id":"7"}],"connections":[{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.DialogueTrees.DTConnection"},{"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.DialogueTrees.DTConnection"},{"_sourceNode":{"$ref":"2"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.DialogueTrees.DTConnection"},{"_sourceNode":{"$ref":"3"},"_targetNode":{"$ref":"4"},"$type":"NodeCanvas.DialogueTrees.DTConnection"},{"_sourceNode":{"$ref":"4"},"_targetNode":{"$ref":"5"},"$type":"NodeCanvas.DialogueTrees.DTConnection"},{"_sourceNode":{"$ref":"5"},"_targetNode":{"$ref":"6"},"$type":"NodeCanvas.DialogueTrees.DTConnection"},{"_sourceNode":{"$ref":"6"},"_targetNode":{"$ref":"7"},"$type":"NodeCanvas.DialogueTrees.DTConnection"}],"canvasGroups":[],"localBlackboard":{"_variables":{}},"derivedData":{"actorParameters":[],"$type":"NodeCanvas.DialogueTrees.DialogueTree+DerivedSerializationData"}}'
_boundGraphObjectReferences: _boundGraphObjectReferences:
- {fileID: 0} - {fileID: 0}
- {fileID: 21300000, guid: 07de7f4d3920e8346b2101fd7981c8ec, type: 3} - {fileID: 21300000, guid: 07de7f4d3920e8346b2101fd7981c8ec, type: 3}
@ -51390,8 +51402,8 @@ MonoBehaviour:
_version: 3.29 _version: 3.29
_category: _category:
_comments: _comments:
_translation: {x: -126, y: -177} _translation: {x: -48.133137, y: -605.67365}
_zoomFactor: 0.6964815 _zoomFactor: 1
_firstActivation: 2 _firstActivation: 2
_enableAction: 1 _enableAction: 1
_disableAction: 2 _disableAction: 2
@ -51478,6 +51490,10 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 1852363615} m_TransformParent: {fileID: 1852363615}
m_Modifications: m_Modifications:
- target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3}
propertyPath: m_LocalScale.x
value: -1
objectReference: {fileID: 0}
- target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3} - target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
value: 0.163 value: 0.163
@ -51496,7 +51512,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3} - target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3}
propertyPath: m_LocalRotation.x propertyPath: m_LocalRotation.x
value: -0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3} - target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3}
propertyPath: m_LocalRotation.y propertyPath: m_LocalRotation.y
@ -51504,7 +51520,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3} - target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3}
propertyPath: m_LocalRotation.z propertyPath: m_LocalRotation.z
value: -0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3} - target: {fileID: 401282359622918354, guid: 53e756ef8b69c8e46a3af9d43e05e3db, type: 3}
propertyPath: m_LocalEulerAnglesHint.x propertyPath: m_LocalEulerAnglesHint.x

View File

@ -1,3 +1,4 @@
using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
@ -36,7 +37,11 @@ namespace Net.BITKit.Localization
for (var i = 1; i < headers.Length; i++) // 跳过 "Key" 列 for (var i = 1; i < headers.Length; i++) // 跳过 "Key" 列
{ {
dict[headers[i]] = new Dictionary<string, string>(); var header = headers[i];
if (dict.ContainsKey(header) is false)
{
dict.Add(header, new Dictionary<string, string>());
}
} }
string? line; string? line;
@ -48,7 +53,15 @@ namespace Net.BITKit.Localization
var key = columns[0]; // 取 Key 值 var key = columns[0]; // 取 Key 值
for (var i = 1; i < columns.Length; i++) for (var i = 1; i < columns.Length; i++)
{ {
dict[headers[i]][key] = columns[i]; // 填充语言数据 if(i>headers.Length-1)continue;
var header = headers[i];
if (dict.TryGetValue(header, out var d) is false)
{
d = new Dictionary<string, string>();
dict.Add(header,d);
}
d.Set(key,columns[i]);
//dict[headers[i]][key] = columns[i]; // 填充语言数据
} }
} }
@ -57,7 +70,7 @@ namespace Net.BITKit.Localization
private async UniTask OnLanguageChangeAsync(string arg1, string arg2) private async UniTask OnLanguageChangeAsync(string arg1, string arg2)
{ {
var csv = await new HttpClient().GetStringAsync(Url); var csv = await new HttpClient().GetStringAsync(Url+$"?{DateTime.Now.Ticks}");
_logger.LogInformation($"下载完成:\n{csv}"); _logger.LogInformation($"下载完成:\n{csv}");