using System.Collections; using System.Collections.Generic; using System; using UnityEngine; namespace BF { [ExecuteInEditMode] [DisallowMultipleComponent] public class TimelineSortingOderHelper : BaseSortingOrderHelper { private Renderer[] renderers; private List originOrderList; void Awake() { renderers = this.transform.GetComponentsInChildren(true); int len = renderers.Length; if (len > 0) { originOrderList = new List(len); for(int i = 0; i < len; i++) { originOrderList.Add(renderers[i].sortingOrder); } } } public override void SetSortingOrder(int uiOrder, int order) { GroupOrder = order; if (!ReferenceEquals(renderers, null)) { int len = renderers.Length; for(int i = 0; i < len; i++) { renderers[i].sortingOrder = originOrderList[i] + uiOrder + order; } } } public override void SetUIOrder(int uiOrder) { if (!ReferenceEquals(renderers, null)) { int len = renderers.Length; for(int i = 0; i < len; i++) { renderers[i].sortingOrder = originOrderList[i] + uiOrder + GroupOrder; } } } } }