CI / Go Backend (push) Canceled after 0s
初始化 monorepo: Go后端(7微服务) + Unity客户端(9模块) + 启动器 HTML5原型: Three.js 3D体素世界, Perlin噪声地形, 原版材质, 22种方块 Minecraft创造模式背包: 双栏布局, 拖拽移动物品, 方向性元件引脚 AI助搭策划文档 + 客户端/服务端骨架 + Docker Compose + CI
159 lines
5.4 KiB
C#
159 lines
5.4 KiB
C#
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using PCL.Core.App;
|
|
using PCL.Core.App.Configuration;
|
|
using PCL.Core.App.Localization;
|
|
using PCL.Core.Utils;
|
|
|
|
namespace PCL;
|
|
|
|
public partial class PageSetupGameManage
|
|
{
|
|
private new bool isLoaded;
|
|
|
|
public PageSetupGameManage()
|
|
{
|
|
InitializeComponent();
|
|
Loaded += PageSetupSystem_Loaded;
|
|
}
|
|
|
|
private void PageSetupSystem_Loaded(object sender, RoutedEventArgs e)
|
|
{
|
|
// 重复加载部分
|
|
PanBack.ScrollToHome();
|
|
|
|
// 非重复加载部分
|
|
if (isLoaded)
|
|
return;
|
|
isLoaded = true;
|
|
|
|
ModAnimation.AniControlEnabled += 1;
|
|
Reload();
|
|
SliderLoad();
|
|
|
|
if (!Lang.IsChineseMainland)
|
|
{
|
|
TextFilenameFormat.Visibility = Visibility.Collapsed;
|
|
ComboDownloadTranslateV2.Visibility = Visibility.Collapsed;
|
|
TextModManageStyle.Visibility = Visibility.Collapsed;
|
|
ComboModLocalNameStyle.Visibility = Visibility.Collapsed;
|
|
|
|
RowFilenameFormat.Height = new GridLength(0);
|
|
RowFilenameFormatGap.Height = new GridLength(0);
|
|
RowModManageStyle.Height = new GridLength(0);
|
|
RowModManageStyleGap.Height = new GridLength(0);
|
|
}
|
|
|
|
ModAnimation.AniControlEnabled -= 1;
|
|
}
|
|
|
|
public void Reload()
|
|
{
|
|
// 下载
|
|
SliderDownloadThread.Value = Config.Download.ThreadLimit;
|
|
SliderDownloadSpeed.Value = Config.Download.SpeedLimit;
|
|
ComboDownloadSource.SelectedIndex = Config.Download.FileSource;
|
|
ComboDownloadVersion.SelectedIndex = Config.Download.VersionListSource;
|
|
CheckDownloadAutoSelectVersion.Checked = Config.Download.AutoSelectInstance;
|
|
CheckFixAuthlib.Checked = Config.Download.FixAuthLib;
|
|
|
|
// Mod 与整合包
|
|
ComboDownloadTranslateV2.SelectedIndex = Config.Download.Comp.NameFormatV2;
|
|
ComboDownloadMod.SelectedIndex = Config.Download.Comp.CompSourceSolution;
|
|
ComboModLocalNameStyle.SelectedIndex = Config.Download.Comp.UiCompNameSolution;
|
|
ComboDownloadQuickBehavior.SelectedIndex = Config.Download.Comp.QuickDownloadBehavior;
|
|
CheckDownloadIgnoreQuilt.Checked = Config.Download.Comp.IgnoreQuilt;
|
|
CheckDownloadAutoInstallDependencies.Checked = Config.Download.Comp.AutoInstallDependencies;
|
|
CheckDownloadClipboard.Checked = Config.Download.Comp.ReadClipboard;
|
|
|
|
// Minecraft 更新提示
|
|
CheckUpdateRelease.Checked = Config.Tool.ReleaseNotification;
|
|
CheckUpdateSnapshot.Checked = Config.Tool.SnapshotNotification;
|
|
|
|
// 辅助设置
|
|
CheckHelpLauncherLanguage.Checked = Config.Tool.AutoChangeLanguage;
|
|
}
|
|
|
|
// 初始化
|
|
public void Reset()
|
|
{
|
|
try
|
|
{
|
|
Config.Download.Reset();
|
|
Config.Tool.Reset();
|
|
ModBase.Log("[Setup] 已初始化其他页设置");
|
|
HintService.Hint(Lang.Text("Setup.GameManage.Initialized"), HintType.Success, false);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ModBase.Log(
|
|
ex,
|
|
Lang.Text("Setup.GameManage.Error.InitFailed"),
|
|
ModBase.LogLevel.Msgbox,
|
|
userSummary: Lang.Text("Setup.GameManage.Error.InitFailed"));
|
|
}
|
|
|
|
Reload();
|
|
}
|
|
|
|
// 将控件改变路由到设置改变
|
|
private void CheckBoxChange(object senderRaw, bool user)
|
|
{
|
|
var sender = (MyCheckBox)senderRaw;
|
|
if (ModAnimation.AniControlEnabled == 0)
|
|
SetByTag(sender.Tag?.ToString(), sender.Checked);
|
|
}
|
|
|
|
private void SliderChange(object senderRaw, bool user)
|
|
{
|
|
var sender = (MySlider)senderRaw;
|
|
if (ModAnimation.AniControlEnabled == 0)
|
|
SetByTag(sender.Tag?.ToString(), sender.Value);
|
|
}
|
|
|
|
private void ComboChange(object senderRaw, SelectionChangedEventArgs e)
|
|
{
|
|
var sender = (MyComboBox)senderRaw;
|
|
if (ModAnimation.AniControlEnabled == 0)
|
|
SetByTag(sender.Tag?.ToString(), sender.SelectedIndex);
|
|
}
|
|
|
|
private static void SetByTag(string tag, object value)
|
|
=> ConfigService.TrySetValue(tag, value);
|
|
|
|
// 滑动条
|
|
private void SliderLoad()
|
|
{
|
|
SliderDownloadThread.getHintText = new Func<object, object>(v => (int)v + 1);
|
|
SliderDownloadSpeed.getHintText = new Func<object, object>(v =>
|
|
{
|
|
int value = (int)v;
|
|
switch (value)
|
|
{
|
|
case <= 14:
|
|
return Lang.Number((value + 1) * 0.1d, "N1") + " MiB/s";
|
|
case <= 31:
|
|
return Lang.Number((value - 11) * 0.5d, "N1") + " MiB/s";
|
|
case <= 41:
|
|
return Lang.Number(value - 21, "N0") + " MiB/s";
|
|
default:
|
|
return Lang.Text("Setup.GameManage.Download.Unlimited");
|
|
}
|
|
});
|
|
}
|
|
|
|
private void SliderDownloadThread_PreviewChange(object sender, ModBase.RouteEventArgs e)
|
|
{
|
|
if (SliderDownloadThread.Value < 100)
|
|
return;
|
|
if (!States.Hint.LargeDownloadThread)
|
|
{
|
|
States.Hint.LargeDownloadThread = true;
|
|
ModMain.MyMsgBox(
|
|
Lang.Text("Setup.GameManage.Download.Threads.TooManyWarning.Message"),
|
|
Lang.Text("Common.Dialog.Warning"),
|
|
Lang.Text("Setup.GameManage.Download.Threads.TooManyWarning.Confirm"), isWarn: true);
|
|
}
|
|
}
|
|
}
|