Advertisement
Guest User

PauseCanvas Template

a guest
Apr 23rd, 2016
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3. using UnityEngine.UI;
  4.  
  5. /*
  6. http://stackoverflow.com/questions/36809687/ui-canvas-image-with-ui-buttons
  7. */
  8.  
  9. public class PauseCanvas : MonoBehaviour
  10. {
  11. public Button resumeButton;
  12. public Button backToMainMenuButton;
  13. public Button settingsButton;
  14. public Button exitGameButton;
  15.  
  16. public Canvas gameCanvas;
  17. public Canvas mainMenuCanvas;
  18. public Canvas settingsMenuCanvas;
  19.  
  20. void OnEnable()
  21. {
  22. //Register Button Events
  23. resumeButton.onClick.AddListener(() => buttonCallBack(resumeButton));
  24. backToMainMenuButton.onClick.AddListener(() => buttonCallBack(backToMainMenuButton));
  25. settingsButton.onClick.AddListener(() => buttonCallBack(settingsButton));
  26. exitGameButton.onClick.AddListener(() => buttonCallBack(exitGameButton));
  27. }
  28.  
  29. private void buttonCallBack(Button buttonPressed)
  30. {
  31. //Resume Button Pressed
  32. if (buttonPressed == resumeButton)
  33. {
  34. //Hide this Pause Canvas
  35. gameObject.SetActive(false);
  36.  
  37. //Show Game Canvas
  38. gameCanvas.gameObject.SetActive(true);
  39. }
  40.  
  41. //Back To Main Menu Button Pressed
  42. if (buttonPressed == backToMainMenuButton)
  43. {
  44. //Hide this Pause Canvas
  45. gameObject.SetActive(false);
  46.  
  47. //Show Main Menu Canvas
  48. mainMenuCanvas.gameObject.SetActive(true);
  49. }
  50.  
  51. //Settings Button Pressed
  52. if (buttonPressed == settingsButton)
  53. {
  54. //Hide this Pause Canvas
  55. gameObject.SetActive(false);
  56.  
  57. //Show Settings Canvas
  58. settingsMenuCanvas.gameObject.SetActive(true);
  59.  
  60. //Tell the settings Canvas that we are calling it from the Pause Menu so that the Stettings' back button will return here
  61. SettingsCanvas sV = settingsMenuCanvas.GetComponent<SettingsCanvas>();
  62. sV.setCalledFrom(SettingsCalledFrom.calledFromPauseMenu);
  63. }
  64.  
  65. //Exit Game Button Pressed
  66. if (buttonPressed == exitGameButton)
  67. {
  68. #if UNITY_EDITOR
  69. UnityEditor.EditorApplication.isPlaying = false;
  70. #else
  71.  
  72. Application.Quit();
  73. #endif
  74. }
  75.  
  76. }
  77.  
  78.  
  79. void OnDisable()
  80. {
  81. //Un-Register Button Events
  82. resumeButton.onClick.RemoveAllListeners();
  83. backToMainMenuButton.onClick.RemoveAllListeners();
  84. settingsButton.onClick.RemoveAllListeners();
  85. exitGameButton.onClick.RemoveAllListeners();
  86. }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement