private async void DownloadLiteloaderButton_Click(object sender, RoutedEventArgs e) { Version ver = null; if (verToInstallLiteComboBox.SelectedItem != null) { ver = (Version)verToInstallLiteComboBox.SelectedItem; } else { await this.ShowMessageAsync("您未选择要安装Liteloader的Minecraft", "您需要选择一个需要安装Liteloader的Minecraft本体"); return; } JWLiteloader liteloader = null; if (liteloaderListDataGrid.SelectedItem != null) { liteloader = (JWLiteloader)liteloaderListDataGrid.SelectedItem; } else { await this.ShowMessageAsync("您未选择要安装的Liteloader", "您需要选择一个要安装Liteloader"); return; } AppendLiteloaderDownloadTask(ver, liteloader); this.Close(); }
//TODO:修复FORGE刷新不成功崩溃 private async void DownloadForgeButton_Click(object sender, RoutedEventArgs e) { Version ver = null; if (verToInstallForgeComboBox.SelectedItem != null) { ver = (Version)verToInstallForgeComboBox.SelectedItem; } else { await this.ShowMessageAsync("您未选择要安装Forge的Minecraft", "您需要选择一个需要安装Forge的Minecraft本体"); return; } JWForge forge = null; if (forgeListDataGrid.SelectedItem != null) { forge = (JWForge)forgeListDataGrid.SelectedItem; } else { await this.ShowMessageAsync("您未选择要安装的Forge", "您需要选择一个要安装Forge"); return; } AppendForgeDownloadTask(ver, forge); this.Close(); }
//启动游戏按钮点击 private void launchButton_Click(object sender, RoutedEventArgs e) { //获取启动版本 MineRealmsLauncherCore.Modules.Version launchVersion = null; if (launchVersionCombobox.SelectedItem != null) { launchVersion = (MineRealmsLauncherCore.Modules.Version)launchVersionCombobox.SelectedItem; } //获取验证方式 AuthenticationNode authNode = null; string authNodeName = null; if (authTypeCombobox.SelectedItem != null) { KeyValuePair <string, AuthenticationNode> node = (KeyValuePair <string, AuthenticationNode>)authTypeCombobox.SelectedItem; authNode = node.Value; authNodeName = node.Key; } //获取用户信息 string userName = userComboBox.Text; string selectedUserUUID = (string)userComboBox.SelectedValue; bool isNewUser = string.IsNullOrWhiteSpace(selectedUserUUID); UserNode userNode = null; if (!string.IsNullOrWhiteSpace(userName)) { if (!isNewUser) { userNode = ((KeyValuePair <string, UserNode>)userComboBox.SelectedItem).Value; } else { userNode = new UserNode() { AuthModule = authNodeName, UserName = userName }; } } else { userNode = null; } this.Launch?.Invoke(this, new LaunchEventArgs() { AuthNode = authNode, UserNode = userNode, LaunchVersion = launchVersion, IsNewUser = isNewUser }); }
private async void RefreshForge() { Version ver = null; if (verToInstallForgeComboBox.SelectedItem != null) { ver = (Version)verToInstallForgeComboBox.SelectedItem; } else { await this.ShowMessageAsync("您未选择要安装Forge的版本", "您需要选择一个需要安装Forge的Minecraft本体"); return; } var loading = await this.ShowProgressAsync("获取Forge列表中", "请稍后"); loading.SetIndeterminate(); List <JWForge> result = null; forgeList.Clear(); try { result = await apiHandler.GetForgeList(ver); } catch (WebException) { await this.ShowMessageAsync("获取Forge列表失败", "请检查您的网络是否正常或稍后再试"); return; } await loading.CloseAsync(); if (result == null || result.Count == 0) { await this.ShowMessageAsync("没有匹配该版本的Forge", "貌似没有支持这个版本的Forge,请尝试更换另一个版本"); } else { foreach (var item in result) { forgeList.Add(item); } } }
private async void RefreshLiteloader() { Version ver = null; if (verToInstallLiteComboBox.SelectedItem != null) { ver = (Version)verToInstallLiteComboBox.SelectedItem; } else { await this.ShowMessageAsync("您未选择要安装Liteloader的版本", "您需要选择一个需要安装Liteloader的Minecraft本体"); return; } var loading = await this.ShowProgressAsync("获取Liteloader列表中", "请稍后"); loading.SetIndeterminate(); JWLiteloader result = new JWLiteloader(); liteloaderList.Clear(); try { result = await apiHandler.GetLiteloaderList(ver); } catch (WebException) { await this.ShowMessageAsync("获取Liteloader列表失败", "请检查您的网络是否正常或稍后再试"); return; } await loading.CloseAsync(); if (result == null) { await this.ShowMessageAsync("没有匹配该版本的Liteloader", "貌似没有支持这个版本的Liteloader,请尝试更换另一个版本"); } else { liteloaderList.Add(result); } }
private void AppendLiteloaderDownloadTask(Version ver, JWLiteloader liteloader) { string liteloaderPath = MineRealmsLauncherCore.PathManager.TempDirectory + string.Format(@"\Liteloader_{0}-Installer.jar", liteloader.Version); DownloadTask dt = new DownloadTask("liteloader核心", string.Format("https://bmclapi2.bangbang93.com/liteloader/download?version={0}", liteloader.Version), liteloaderPath); dt.Todo = new Func <Exception>(() => { try { CommonInstaller installer = new CommonInstaller(liteloaderPath, new CommonInstallOptions() { GameRootPath = App.handler.GameRootPath }); installer.BeginInstall(); return(null); } catch (Exception ex) { return(ex); } }); App.downloader.SetDownloadTasks(dt); App.downloader.StartDownload(); }
private void AppendForgeDownloadTask(Version ver, JWForge forge) { string forgePath = MineRealmsLauncherCore.PathManager.TempDirectory + string.Format(@"\Forge_{0}-Installer.jar", forge.Build); DownloadTask dt = new DownloadTask("forge核心", string.Format("https://bmclapi2.bangbang93.com/forge/download/{0}", forge.Build), forgePath); dt.Todo = new Func <Exception>(() => { try { CommonInstaller installer = new CommonInstaller(forgePath, new CommonInstallOptions() { GameRootPath = App.handler.GameRootPath }); installer.BeginInstall(); return(null); } catch (Exception ex) { return(ex); } }); App.downloader.SetDownloadTasks(dt); App.downloader.StartDownload(); }