39 lines
1.1 KiB
C#
39 lines
1.1 KiB
C#
/*! \cond PRIVATE */
|
|
using System;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
|
|
namespace DarkTonic.MasterAudio.EditorScripts
|
|
{
|
|
[InitializeOnLoad]
|
|
// ReSharper disable once CheckNamespace
|
|
public class AudioScriptOrderManager
|
|
{
|
|
static AudioScriptOrderManager()
|
|
{
|
|
if (EditorApplication.isPlayingOrWillChangePlaymode)
|
|
{
|
|
return;
|
|
}
|
|
|
|
foreach (var monoScript in MonoImporter.GetAllRuntimeMonoScripts())
|
|
{
|
|
if (monoScript.GetClass() == null)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
foreach (var a in Attribute.GetCustomAttributes(monoScript.GetClass(), typeof(AudioScriptOrder)))
|
|
{
|
|
var currentOrder = MonoImporter.GetExecutionOrder(monoScript);
|
|
var newOrder = ((AudioScriptOrder) a).Order;
|
|
if (currentOrder != newOrder)
|
|
{
|
|
MonoImporter.SetExecutionOrder(monoScript, newOrder);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/*! \endcond */ |