Advertisement
Guest User

Untitled

a guest
Jun 1st, 2020
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. using UnityEngine;
  2. using UnityEngine.EventSystems;
  3.  
  4. public class WindowScript : MonoBehaviour, IDragHandler
  5. {
  6. [SerializeField] private ToolbarHider toolbarHider;
  7.  
  8. [Space(10)]
  9.  
  10. [HideInInspector] public Vector2Int defaultWindowSize;
  11. public Vector2Int borderSize = new Vector2Int(16, 39);
  12.  
  13. private Vector2 _deltaValue = Vector2.zero;
  14. private bool _maximized;
  15.  
  16. public void OnToggleBorder()
  17. {
  18. toolbarHider.ShowWindowBorders(!toolbarHider.barIsDisplayed);
  19.  
  20.  
  21. //if (BorderlessWindow.framed)
  22. //{
  23. // OnNoBorderBtnClick();
  24. //}
  25. //else
  26. //{
  27. // OnBorderBtnClick();
  28. //}
  29. }
  30.  
  31. public void OnBorderBtnClick()
  32. {
  33. if (BorderlessWindow.framed)
  34. return;
  35.  
  36. BorderlessWindow.SetFramedWindow();
  37. BorderlessWindow.MoveWindowPos(Vector2Int.zero, Screen.width + borderSize.x, Screen.height + borderSize.y); // Compensating the border offset.
  38. }
  39.  
  40. public void OnNoBorderBtnClick()
  41. {
  42. if (!BorderlessWindow.framed)
  43. return;
  44.  
  45. BorderlessWindow.SetFramelessWindow();
  46. BorderlessWindow.MoveWindowPos(Vector2Int.zero, Screen.width - borderSize.x, Screen.height - borderSize.y);
  47. }
  48.  
  49. public void ResetWindowSize()
  50. {
  51. BorderlessWindow.MoveWindowPos(Vector2Int.zero, defaultWindowSize.x, defaultWindowSize.y);
  52. }
  53.  
  54. public void OnCloseBtnClick()
  55. {
  56. EventSystem.current.SetSelectedGameObject(null);
  57. Application.Quit();
  58. }
  59.  
  60. public void OnMinimizeBtnClick()
  61. {
  62. EventSystem.current.SetSelectedGameObject(null);
  63. BorderlessWindow.MinimizeWindow();
  64. }
  65.  
  66. public void OnMaximizeBtnClick()
  67. {
  68. EventSystem.current.SetSelectedGameObject(null);
  69.  
  70. if (_maximized)
  71. BorderlessWindow.RestoreWindow();
  72. else
  73. BorderlessWindow.MaximizeWindow();
  74.  
  75. _maximized = !_maximized;
  76. }
  77.  
  78. public void OnDrag(PointerEventData data)
  79. {
  80.  
  81. _deltaValue += data.delta;
  82. if (data.dragging)
  83. {
  84. if(!BorderlessWindow.framed)
  85. BorderlessWindow.MoveWindowPos(_deltaValue, Screen.width, Screen.height);
  86. else
  87. BorderlessWindow.MoveWindowPos(_deltaValue, toolbarHider.currentResolution.x + borderSize.x, toolbarHider.currentResolution.y + borderSize.y);
  88. }
  89. }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement