Files
UltimateFishing2020/Assets/Scripts/Assembly-CSharp/ARTNGAME/Skymaster/SetRenderQueue.cs
2026-03-04 10:03:45 +08:00

87 lines
1.9 KiB
C#

using UnityEngine;
namespace Artngame.SKYMASTER
{
[AddComponentMenu("Effects/SetRenderQueue")]
public class SetRenderQueue : MonoBehaviour
{
public int queue = 1;
public int[] queues;
public bool Resort;
public int SortingLayerOrder;
private string sortingLayerName = "Default";
public int sortingLayerID;
public bool is_cloud = true;
private Transform This_tranf;
public bool above_clouds;
public int SortingLayerCloudsGround;
public int SortingLayerCloudsAbove = 1;
public bool UseSortingLayers = true;
protected void Start()
{
if (!GetComponent<Renderer>() || !GetComponent<Renderer>().sharedMaterial || queues == null)
{
return;
}
GetComponent<Renderer>().sharedMaterial.renderQueue = queue;
for (int i = 0; i < queues.Length && i < GetComponent<Renderer>().sharedMaterials.Length; i++)
{
GetComponent<Renderer>().sharedMaterials[i].renderQueue = queues[i];
}
if (UseSortingLayers)
{
if (Resort)
{
GetComponent<Renderer>().sortingLayerName = sortingLayerName;
GetComponent<Renderer>().sortingOrder = SortingLayerOrder;
}
else
{
GetComponent<Renderer>().sortingLayerName = "Default";
GetComponent<Renderer>().sortingOrder = 0;
}
}
This_tranf = base.transform;
}
private void Update()
{
if (Resort)
{
GetComponent<Renderer>().sortingLayerName = sortingLayerName;
GetComponent<Renderer>().sortingOrder = SortingLayerOrder;
Resort = false;
}
if (!UseSortingLayers || !is_cloud)
{
return;
}
if (Camera.main != null && Camera.main.transform.position.y > This_tranf.position.y)
{
if (!above_clouds)
{
GetComponent<Renderer>().sortingOrder = SortingLayerCloudsAbove;
above_clouds = true;
}
}
else if (above_clouds)
{
GetComponent<Renderer>().sortingOrder = SortingLayerCloudsGround;
above_clouds = false;
}
}
}
}