using System.Collections; using System.Collections.Generic; using UnityEngine; namespace BF { [ExecuteInEditMode] [RequireComponent(typeof(Canvas))] [DisallowMultipleComponent] public class CanvasSortingOrderHelper : BaseSortingOrderHelper { private Canvas canvas; private int originOrder = 0; public override void SetSortingOrder(int uiOrder, int order) { GroupOrder = order; if (!ReferenceEquals(canvas, null)) { canvas.sortingOrder = originOrder + uiOrder + order; } } public override void SetUIOrder(int uiOrder) { if (!ReferenceEquals(canvas, null)) { canvas.sortingOrder = originOrder + uiOrder + GroupOrder; } } void Awake() { canvas = this.transform.GetComponent(); if (!ReferenceEquals(canvas, null)) { if (!canvas.overrideSorting) { canvas.overrideSorting = true; } originOrder = canvas.sortingOrder; } } } }