c1_unity/Assets/Scripts/Component/Helper/CanvasSortingOrderHelper.cs
2023-04-03 11:04:31 +08:00

46 lines
1.1 KiB
C#

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<Canvas>();
if (!ReferenceEquals(canvas, null))
{
if (!canvas.overrideSorting)
{
canvas.overrideSorting = true;
}
originOrder = canvas.sortingOrder;
}
}
}
}