设置脚本执行顺序。
利用下面这个开源库,可以在脚本上添加特性来控制脚本执行顺序。
https://github.com/azixMcAze/Unity-ExecutionOrder
写个菜单项来设置脚本执行顺序。
// 设置脚本执行顺序
[MenuItem("Tools/Script Execution Order")]
public static void ScriptExecutionOrder()
{
Dictionary<string, int> dic = new Dictionary<string, int>();
//添加想自定义Order的脚本
//dic.Add(typeof(CheckPointListUI).Name, 1000);
//dic.Add(typeof(CheckPointRow).Name, 1001);
MonoScript[] scripts = MonoImporter.GetAllRuntimeMonoScripts();
foreach(MonoScript script in scripts)
{
if (!dic.ContainsKey(script.name))
continue;
int order = dic[script.name];
MonoImporter.SetExecutionOrder(script, order);
}
}