diff --git a/Link/Lobby/LobbyController.cs b/Link/Lobby/LobbyController.cs
index b61b6989..5187b8f7 100644
--- a/Link/Lobby/LobbyController.cs
+++ b/Link/Lobby/LobbyController.cs
@@ -15,6 +15,7 @@
using System.Text;
using System.Text.Json.Nodes;
using System.Threading.Tasks;
+using PCL.Core.UI;
using static PCL.Core.Link.Lobby.LobbyInfoProvider;
using static PCL.Core.Link.Natayark.NatayarkProfileManager;
using LobbyType = PCL.Core.Link.Scaffolding.Client.Models.LobbyType;
@@ -44,7 +45,7 @@ public sealed class LobbyController
///
/// Launch a Scaffolding Client.
///
- /// Join user name.
+ /// Join username.
/// Lobby share code.
/// Created .
public async Task LaunchClientAsync(string username, string code)
@@ -74,11 +75,10 @@ public sealed class LobbyController
foreach (var profile in scfEntity.Client.PlayerList)
{
- if (profile.Kind == PlayerKind.HOST)
- {
- hostname = profile.Name;
- LogWrapper.Debug($"大厅创建者的用户名: {hostname}");
- }
+ if (profile.Kind != PlayerKind.HOST) continue;
+
+ hostname = profile.Name;
+ LogWrapper.Debug($"大厅创建者的用户名: {hostname}");
}
var localPort = await scfEntity.EasyTier.AddPortForwardAsync(scfEntity.HostInfo.Ip, port)
@@ -96,20 +96,24 @@ public sealed class LobbyController
catch (ArgumentNullException e)
{
LogWrapper.Error(e, "大厅创建者的用户名为空");
+ HintWrapper.Show("大厅创建者的用户名为空", HintType.Critical);
}
catch (ArgumentException e)
{
if (e.Message.Contains("lobby code"))
{
LogWrapper.Error(e, "大厅编号无效");
+ HintWrapper.Show("大厅编号无效", HintType.Critical);
}
else if (e.Message.Contains("hostname"))
{
LogWrapper.Error(e, "大厅创建者的用户名无效");
+ HintWrapper.Show("大厅创建者的用户名无效", HintType.Critical);
}
else
{
LogWrapper.Error(e, "在加入大厅时出现意外的无效参数");
+ HintWrapper.Show("在加入大厅时出现意外的无效参数", HintType.Critical);
}
}
catch (Exception e)
@@ -123,7 +127,7 @@ public sealed class LobbyController
///
/// Launch a Scaffolding Server.
///
- /// Host user name.
+ /// Host username.
/// Minecraft port.
/// Created .
///
@@ -147,7 +151,7 @@ public sealed class LobbyController
}
catch (Exception e)
{
- LogWrapper.Error(e, "Occurred error when launching Scafolding Server.");
+ LogWrapper.Error(e, "Occurred error when launching Scaffolding Server.");
}
return null;
diff --git a/Link/Natayark/NatayarkProfileManager.cs b/Link/Natayark/NatayarkProfileManager.cs
index 0fe97243..923a055b 100644
--- a/Link/Natayark/NatayarkProfileManager.cs
+++ b/Link/Natayark/NatayarkProfileManager.cs
@@ -135,7 +135,7 @@ public static async Task GetNaidDataAsync(string token, bool isRefresh = false,
void WarnLog(string msg)
{
LogWrapper.Warn(ex, LogModule, msg);
- HintWrapper.Show(msg, HintTheme.Error);
+ HintWrapper.Show(msg, HintType.Critical);
}
}
finally
diff --git a/Logging/LogService.cs b/Logging/LogService.cs
index b4277c0d..67e70cbb 100644
--- a/Logging/LogService.cs
+++ b/Logging/LogService.cs
@@ -52,7 +52,7 @@ private static void _LogAction(ActionLevel level, string formatted, string plain
// hint
if (level is ActionLevel.Hint or ActionLevel.HintErr)
{
- HintWrapper.Show(plain, (level == ActionLevel.Hint) ? HintTheme.Normal : HintTheme.Error);
+ HintWrapper.Show(plain, (level == ActionLevel.Hint) ? HintType.Info : HintType.Critical);
}
// message box
diff --git a/Minecraft/Folder/FolderManager.cs b/Minecraft/Folder/FolderManager.cs
index 102caa1c..8c9603b7 100644
--- a/Minecraft/Folder/FolderManager.cs
+++ b/Minecraft/Folder/FolderManager.cs
@@ -39,7 +39,7 @@ public async Task McFolderListLoadAsync() {
foreach (var folder in Config.Launch.Folders.Split('|', StringSplitOptions.RemoveEmptyEntries)) {
if (!folder.Contains('>') || !folder.EndsWith('\\')) {
- HintWrapper.Show($"无效的 Minecraft 文件夹:{folder}", HintTheme.Error);
+ HintWrapper.Show($"无效的 Minecraft 文件夹:{folder}", HintType.Critical);
continue;
}
diff --git a/Minecraft/Launch/Services/Argument/LaunchArgBuilder.cs b/Minecraft/Launch/Services/Argument/LaunchArgBuilder.cs
index e8c742d9..b7c040bd 100644
--- a/Minecraft/Launch/Services/Argument/LaunchArgBuilder.cs
+++ b/Minecraft/Launch/Services/Argument/LaunchArgBuilder.cs
@@ -179,7 +179,7 @@ private void AddLegacyServerArguments(string server) {
_arguments.Add($"--server {host} --port {port}");
if (instance.InstanceInfo.HasPatch("optifine")) {
- HintWrapper.Show("OptiFine 与自动进入服务器可能不兼容,有概率导致材质丢失甚至游戏崩溃!", HintTheme.Error);
+ HintWrapper.Show("OptiFine 与自动进入服务器可能不兼容,有概率导致材质丢失甚至游戏崩溃!", HintType.Critical);
}
}
diff --git a/UI/HintWrapper.cs b/UI/HintWrapper.cs
index 2f9b66a9..ac9112ce 100644
--- a/UI/HintWrapper.cs
+++ b/UI/HintWrapper.cs
@@ -1,23 +1,35 @@
namespace PCL.Core.UI;
-public enum HintTheme
+///
+/// 提示信息的种类W
+///
+public enum HintType
{
- Normal,
- Success,
- Error
+ ///
+ /// 信息
+ ///
+ Info,
+ ///
+ /// 已完成
+ ///
+ Finish,
+ ///
+ /// 错误
+ ///
+ Critical
}
public delegate void HintHandler(
string message,
- HintTheme theme
+ HintType type
);
public static class HintWrapper
{
public static event HintHandler? OnShow;
- public static void Show(string message, HintTheme theme = HintTheme.Normal)
+ public static void Show(string message, HintType type = HintType.Info)
{
- OnShow?.Invoke(message, theme);
+ OnShow?.Invoke(message, type);
}
}