private IEnumerator PlayerSmokeCoroutine() { yield return(new WaitForSeconds(smokeTime)); GameObject go = ResMgr.instance.Load <GameObject>(smokePath); GameObject effectSmoke = Instantiate(go); Common.Components.SortingOrderChanger sortingOrder = effectSmoke.AddComponent <Common.Components.SortingOrderChanger>(); effectSmoke.transform.SetParent(transform.parent, false); sortingOrder.sortingOrder = 120; effectSmoke.transform.localPosition = smokePos; }
private void SetLayerAndOrder(GameObject target, EUISortingLayer uiSortingLayer, int sortingOrder, float planeDistance) { Canvas[] canvases = target.GetComponentsInChildren <Canvas>(true); Canvas canvas = null; for (int index = 0, count = canvases.Length; index < count; index++) { canvas = canvases[index]; canvas.sortingLayerName = uiSortingLayer.ToString(); canvas.sortingOrder = sortingOrder + canvas.sortingOrder; } Common.Components.SortingOrderChanger[] sortingOrderChangers = target.GetComponentsInChildren <Common.Components.SortingOrderChanger>(true); Common.Components.SortingOrderChanger sortingOrderChanger = null; for (int index = 0, count = sortingOrderChangers.Length; index < count; index++) { sortingOrderChanger = sortingOrderChangers[index]; sortingOrderChanger.sortingOrder += sortingOrder; } Renderer[] renderers = target.GetComponentsInChildren <Renderer>(true); Renderer renderer = null; for (int index = 0, count = renderers.Length; index < count; index++) { renderer = renderers[index]; renderer.sortingLayerName = uiSortingLayer.ToString(); renderer.sortingOrder = sortingOrder + renderer.sortingOrder; } Canvas targetCanvas = target.GetComponent <Canvas>(); if (targetCanvas != null) { targetCanvas.overrideSorting = true; targetCanvas.sortingLayerName = uiSortingLayer.ToString(); targetCanvas.sortingOrder = sortingOrder; // targetCanvas.transform.localPosition = new Vector3(targetCanvas.transform.localPosition.x, targetCanvas.transform.localPosition.y, z); targetCanvas.planeDistance = planeDistance; } }