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

40 lines
1.1 KiB
C#
Raw Permalink 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;
2025-02-22 12:19:42 +03:00
using Plombir;
2025-02-21 13:13:35 +03:00
namespace LauncherGUI.Views;
public partial class VersionSelectorWindow : Window
{
private MainWindowViewModel _mainViewModel;
public VersionSelectorWindow(MainWindowViewModel mainViewModel)
{
2025-02-22 12:19:42 +03:00
InitializeComponent();
2025-02-21 13:13:35 +03:00
_mainViewModel = mainViewModel;
//Load versions asynchronously
2025-02-22 12:19:42 +03:00
var versionsList = Task.Run(() => Plombir.Utils.GetAllMcVersions().GetAwaiter().GetResult());
2025-02-21 13:13:35 +03:00
versions.ItemsSource = versionsList.Result;
2025-02-22 12:19:42 +03:00
2025-02-21 13:13:35 +03:00
}
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}");
2025-02-22 12:19:42 +03:00
LauncherUtils.CreateMinecraftInstance(_mainViewModel, this);
Close();
2025-02-21 13:13:35 +03:00
}
2025-02-22 12:19:42 +03:00
}