PlaylistSelectionNavigationController.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using HMUI;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using TMPro;
  7. using UnityEngine;
  8. using UnityEngine.UI;
  9. using VRUI;
  10. namespace SongBrowserPlugin.UI
  11. {
  12. class PlaylistSelectionMasterViewController : VRUINavigationController
  13. {
  14. private Button _dismissButton;
  15. public const String Name = "PlaylistSelectionMasterViewController";
  16. private Logger _log = new Logger(Name);
  17. /// <summary>
  18. /// Override DidActivate to inject our UI elements.
  19. /// </summary>
  20. protected override void DidActivate(bool firstActivation, VRUIViewController.ActivationType activationType)
  21. {
  22. _log.Debug("DidActivate()");
  23. base.DidActivate(firstActivation, activationType);
  24. if (firstActivation)
  25. {
  26. }
  27. if (activationType == VRUIViewController.ActivationType.AddedToHierarchy)
  28. {
  29. _log.Debug("Adding Dismiss Button");
  30. _dismissButton = Instantiate(Resources.FindObjectsOfTypeAll<Button>().First(x => (x.name == "BackArrowButton")), this.rectTransform, false);
  31. _dismissButton.onClick.RemoveAllListeners();
  32. _dismissButton.onClick.AddListener(HandleDismissButton);
  33. }
  34. }
  35. /// <summary>
  36. ///
  37. /// </summary>
  38. private void HandleDismissButton()
  39. {
  40. _log.Debug("Dismissing!");
  41. this.DismissModalViewController(null, false);
  42. }
  43. /// <summary>
  44. ///
  45. /// </summary>
  46. private void CheckDebugUserInput()
  47. {
  48. // leave
  49. if (Input.GetKeyDown(KeyCode.Escape))
  50. {
  51. _dismissButton.onClick.Invoke();
  52. }
  53. }
  54. /// <summary>
  55. ///
  56. /// </summary>
  57. private void LateUpdate()
  58. {
  59. if (!this.isActiveAndEnabled) return;
  60. CheckDebugUserInput();
  61. }
  62. }
  63. }