Files
zeling_v2/Assets/PathBerserker2d/Scripts/PathBerserker2d.Editor/ExecutionOrderManager.cs
2026-05-08 11:04:00 +08:00

34 lines
1012 B
C#

using System;
using UnityEditor;
namespace PathBerserker2d
{
[InitializeOnLoad]
internal class ExecutionOrderManager : Editor
{
static ExecutionOrderManager()
{
foreach (MonoScript monoScript in MonoImporter.GetAllRuntimeMonoScripts())
{
Type type = monoScript.GetClass();
if (type == null)
{
continue;
}
object[] attributes = type.GetCustomAttributes(typeof(ScriptExecutionOrderAttribute), true);
if (attributes.Length == 0)
{
continue;
}
ScriptExecutionOrderAttribute attribute = (ScriptExecutionOrderAttribute)attributes[0];
if (MonoImporter.GetExecutionOrder(monoScript) != attribute.GetOrder())
{
MonoImporter.SetExecutionOrder(monoScript, attribute.GetOrder());
}
}
}
}
}