Files
beyond/Assets/ThirdParty/FluXY/Editor/ExecutionOrderManager.cs
2024-11-20 15:21:28 +01:00

26 lines
840 B
C#

using System;
using UnityEditor;
namespace Fluxy
{
[InitializeOnLoad]
public class ExecutionOrderManager
{
static ExecutionOrderManager()
{
foreach (MonoScript monoScript in MonoImporter.GetAllRuntimeMonoScripts())
{
if (monoScript.GetClass() != null)
{
foreach (var a in Attribute.GetCustomAttributes(monoScript.GetClass(), typeof(ExecutionOrder)))
{
var currentOrder = MonoImporter.GetExecutionOrder(monoScript);
var newOrder = ((ExecutionOrder)a).order;
if (currentOrder != newOrder)
MonoImporter.SetExecutionOrder(monoScript, newOrder);
}
}
}
}
}
}