protected override void OnEnable() { base.OnEnable(); m_Template = serializedObject.FindProperty("m_Template"); if ((m_Template.objectReferenceValue as RectTransform) != null) { USpeedUILayerElement element = (m_Template.objectReferenceValue as RectTransform).GetComponent <USpeedUILayerElement>(); if (element == null) { element = (m_Template.objectReferenceValue as RectTransform).gameObject.AddComponent <USpeedUILayerElement>(); } element.UILayerElementType = USpeedUILayerElement.EUILayerElementType.ELET_UI; element.IsUseSortingLayerOffset = false; element.IsUIRequirRaycaster = true; } }
//重新算该层级下所有界面的层级数 public void resetAllSortingOrder() { USpeedUILayer layer = USpeedUILayerManager.GetUILayer(GetLayer()); if (layer != null) { RectTransform LayerTrans = layer.GetRectTransform; if (LayerTrans != null) { int count = LayerTrans.childCount; for (int i = 0; i < count; ++i) { USpeedUILayerElement element = LayerTrans.GetChild(i).GetComponent <USpeedUILayerElement>(); if (element != null) { LayerTrans.GetChild(i).GetComponent <USpeedUILayerElement>().SetSortingOrder(); } } } } }