PlombirLauncher/Launcher-UI/Views/VersionSelectorWindow.axaml.cs

40 lines
1.1 KiB
C#

using System;
using System.Linq;
using System.Threading.Tasks;
using Avalonia.Controls;
using Avalonia.Threading;
using LauncherGUI.ViewModels;
using Plombir;
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(() => Plombir.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}");
LauncherUtils.CreateMinecraftInstance(_mainViewModel, this);
Close();
}
}