PlombirLauncher/src/LauncherGUI/Views/VersionSelectorWindow.axaml.cs

43 lines
1.2 KiB
C#
Raw Normal View History

2025-02-21 13:13:35 +03:00
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();;
}
}