34 lines
1012 B
C#
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());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |