mirror of
https://gitlab.com/nullmax17/PlombirLauncher.git
synced 2025-03-15 02:11:11 +03:00
43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
|
using System;
|
||
|
using System.Linq;
|
||
|
using System.Threading.Tasks;
|
||
|
using Avalonia.Controls;
|
||
|
using Avalonia.Threading;
|
||
|
using LauncherGUI.ViewModels;
|
||
|
|
||
|
namespace LauncherGUI.Views;
|
||
|
|
||
|
public partial class VersionSelectorWindow : Window
|
||
|
{
|
||
|
private MainWindowViewModel _mainViewModel;
|
||
|
public VersionSelectorWindow(MainWindowViewModel mainViewModel)
|
||
|
{
|
||
|
InitializeComponent();
|
||
|
_mainViewModel = mainViewModel;
|
||
|
|
||
|
//Load versions asynchronously
|
||
|
var versionsList = Task.Run(() => BlightFlame.Utils.GetAllMcVersions().GetAwaiter().GetResult());
|
||
|
|
||
|
versions.ItemsSource = versionsList.Result;
|
||
|
|
||
|
}
|
||
|
|
||
|
private async void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
|
||
|
{
|
||
|
var selectedVersion = versions.SelectedItem as string ?? throw new NullReferenceException("Null version selected!");
|
||
|
|
||
|
_mainViewModel.SelectedVersion = selectedVersion;
|
||
|
|
||
|
|
||
|
System.Console.WriteLine($"Selected version: {selectedVersion}");
|
||
|
|
||
|
LoadingWindow loading = new(_mainViewModel.Usernick, _mainViewModel.SelectedVersion);
|
||
|
loading.Show(this);
|
||
|
await loading.InitLoading();
|
||
|
loading.Close();
|
||
|
this.Close();
|
||
|
await loading.RunMinecraft();;
|
||
|
|
||
|
|
||
|
}
|
||
|
}
|