AmiiboWindow.axaml.cs 1.7 KB

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