DsUIGroupHelper.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. //------------------------------------------------------------
  2. // Game Framework
  3. // Copyright © 2013-2021 Jiang Yin. All rights reserved.
  4. // Homepage: https://gameframework.cn/
  5. // Feedback: mailto:ellan@gameframework.cn
  6. //------------------------------------------------------------
  7. using System;
  8. using UnityEngine;
  9. using UnityEngine.UI;
  10. namespace UnityGameFramework.Runtime
  11. {
  12. /// <summary>
  13. /// 默认界面组辅助器。
  14. /// </summary>
  15. public class DsUIGroupHelper : UIGroupHelperBase
  16. {
  17. private Canvas _canvas;
  18. private CanvasScaler _canvasScale;
  19. private void Awake()
  20. {
  21. _canvas = this.gameObject.AddComponent<Canvas>();
  22. _canvas.renderMode = RenderMode.ScreenSpaceCamera;
  23. _canvas.worldCamera = GameObject.FindWithTag("UiCamera").GetComponent<Camera>();
  24. _canvasScale = this.gameObject.AddComponent<CanvasScaler>();
  25. _canvasScale.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize;
  26. _canvasScale.referenceResolution = new Vector2(1920, 1080);
  27. RectTransform rect = this.gameObject.GetOrAddComponent<RectTransform>();
  28. rect.anchoredPosition = new Vector2(0, 0);
  29. gameObject.AddComponent<GraphicRaycaster>();
  30. }
  31. private void Start()
  32. {
  33. if (this.gameObject.name.Equals("UI Group - Pop"))
  34. {
  35. GameObject obj=new GameObject("MoveItemContent");
  36. obj.AddComponent<RectTransform>().sizeDelta = new Vector2(1920, 1080);
  37. obj.transform.SetParent(this.transform);
  38. obj.transform.localPosition=Vector3.zero;
  39. obj.tag = "MoveItemContent";
  40. }
  41. }
  42. /// <summary>
  43. /// 设置界面组深度。
  44. /// </summary>
  45. /// <param name="depth">界面组深度。</param>
  46. public override void SetDepth(int depth)
  47. {
  48. _canvas.sortingOrder = depth;
  49. }
  50. }
  51. }