AmiiboWindow.axaml.cs 1.9 KB

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