AmiiboWindow.axaml.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using Avalonia;
  2. using Avalonia.Interactivity;
  3. using Ryujinx.Ava.Common.Locale;
  4. using Ryujinx.Ava.Ui.Models;
  5. using Ryujinx.Ava.Ui.ViewModels;
  6. namespace Ryujinx.Ava.Ui.Windows
  7. {
  8. public partial class AmiiboWindow : StyleableWindow
  9. {
  10. public AmiiboWindow(bool showAll, string lastScannedAmiiboId, string titleId)
  11. {
  12. ViewModel = new AmiiboWindowViewModel(this, lastScannedAmiiboId, titleId);
  13. ViewModel.ShowAllAmiibo = showAll;
  14. DataContext = ViewModel;
  15. InitializeComponent();
  16. Title = $"Ryujinx {Program.Version} - " + LocaleManager.Instance["Amiibo"];
  17. }
  18. public AmiiboWindow()
  19. {
  20. ViewModel = new AmiiboWindowViewModel(this, string.Empty, string.Empty);
  21. DataContext = ViewModel;
  22. InitializeComponent();
  23. if (Program.PreviewerDetached)
  24. {
  25. Title = $"Ryujinx {Program.Version} - " + LocaleManager.Instance["Amiibo"];
  26. }
  27. }
  28. public bool IsScanned { get; set; }
  29. public Amiibo.AmiiboApi ScannedAmiibo { get; set; }
  30. public AmiiboWindowViewModel ViewModel { get; set; }
  31. private void ScanButton_Click(object sender, RoutedEventArgs e)
  32. {
  33. if (ViewModel.AmiiboSelectedIndex > -1)
  34. {
  35. Amiibo.AmiiboApi amiibo = ViewModel.AmiiboList[ViewModel.AmiiboSelectedIndex];
  36. ScannedAmiibo = amiibo;
  37. IsScanned = true;
  38. Close();
  39. }
  40. }
  41. private void CancelButton_Click(object sender, RoutedEventArgs e)
  42. {
  43. IsScanned = false;
  44. Close();
  45. }
  46. }
  47. }