hch
2 天以前 e95a97e663ba46ed474c89425dd92516a0d9b7dd
Main/Component/UI/Common/RendererAdjuster.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using UnityEngine;
using System;
using Spine.Unity;
public class RendererAdjuster : MonoBehaviour
{
@@ -12,7 +13,11 @@
    public List<Renderer> renderers = new List<Renderer>();
    // private List<SkeletonAnimation> skeletonAnimations = new List<SkeletonAnimation>();
    protected Canvas canvas;
    public int canvasOffset = 1;
    public Action<string, int> onSortingChanged;
@@ -24,8 +29,7 @@
    public void SetSortingOrder(int sortingOrder)
    {
        this.sortingOrder = sortingOrder;
        UpdateComps();
        UpdateSortingOrder();
        UpdateLayer();
    }
    protected void UpdateComps()
@@ -33,7 +37,17 @@
        renderers.Clear();
        renderers.AddRange(gameObject.GetComponentsInChildren<Renderer>(true));
        canvas = GetComponent<Canvas>();
        // skeletonAnimations.Clear();
        // skeletonAnimations.AddRange(gameObject.GetComponentsInChildren<SkeletonAnimation>(true));
        canvas = GetComponentInChildren<Canvas>(true);
    }
    [ContextMenu("UpdateLayer")]
    private void UpdateLayer()
    {
        UpdateComps();
        UpdateSortingOrder();
    }
    public void UpdateSortingOrder()
@@ -59,13 +73,18 @@
        if (null != canvas)
        {
            canvas.sortingOrder = sortingOrder;
            canvas.sortingOrder = sortingOrder + canvasOffset;
            if (!string.IsNullOrEmpty(sortingLayer))
            {
                canvas.sortingLayerName = sortingLayer;
            }
        }
        // foreach (var skeletonAnim in skeletonAnimations)
        // {
        // }
        onSortingChanged?.Invoke(sortingLayer, sortingOrder);
    }
}