Files

70 lines
2.3 KiB
C#
Raw Permalink Normal View History

using PCL.Core.App.Localization;
namespace PCL;
public partial class PageDownloadLabyMod
{
public PageDownloadLabyMod()
{
Initialized += (_, _) => LoaderInit();
Loaded += (_, _) => Init();
InitializeComponent();
BtnWeb.Click += BtnWeb_Click;
}
private void LoaderInit()
{
PageLoaderInit(Load, PanLoad, CardVersions, CardTip, ModDownload.dlLabyModListLoader, _ => Load_OnFinish());
}
private void Init()
{
PanBack.ScrollToHome();
}
private void Load_OnFinish()
{
// 结果数据化
try
{
var versions = ModDownload.dlLabyModListLoader.output.Value;
if (versions is null)
return;
var productionEntry = new JsonObject();
productionEntry.Add("channel", "production");
productionEntry.Add("version", versions["production"]["labyModVersion"].ToString());
var snapshotEntry = new JsonObject();
snapshotEntry.Add("channel", "snapshot");
snapshotEntry.Add("version", versions["snapshot"]["labyModVersion"].ToString());
PanVersions.Children.Clear();
PanVersions.Children.Add(ModDownloadLib.LabyModDownloadListItem(productionEntry,
(a, b) => this.LabyMod_Production_Selected((MyListItem)a, b)));
PanVersions.Children.Add(ModDownloadLib.LabyModDownloadListItem(snapshotEntry,
(a, b) => this.LabyMod_Snapshot_Selected((MyListItem)a, b)));
CardVersions.Title = Lang.Text("Download.Version.VersionListCount", versions.Count);
}
catch (Exception ex)
{
ModBase.Log(
ex,
"可视化 LabyMod 版本列表出错",
ModBase.LogLevel.Feedback,
userSummary: Lang.Text("Download.Error.OperationFailed"));
}
}
private void LabyMod_Production_Selected(MyListItem sender, EventArgs e)
{
ModDownloadLib.McDownloadLabyModProductionLoaderSave();
}
private void LabyMod_Snapshot_Selected(MyListItem sender, EventArgs e)
{
ModDownloadLib.McDownloadLabyModSnapshotLoaderSave();
}
private void BtnWeb_Click(object sender, EventArgs e)
{
ModBase.OpenWebsite("https://labymod.net");
}
}