赞
踩
我们知道unity引擎在我们写好或修改了C#脚本之后,会自动编译。这个编译是比较耗时的。哪怕我们做了一丁点儿修改,这个过程也不可避免。
此时我们就想是不是可以停止脚本自动编译。
尤其是在运行时候我们修改了一下某个脚本,但是并不想结束运行,这时候如果我们顺手切换了一下unity编辑器的话,就会导致运行结束,开始重新编译脚本。
那么我们怎么来实现阻止脚本自动编译
unity提供了一个阻止加载程序集的方法,我们可以利用一下。
首先我们创建一个编辑器脚本,放到Editor文件夹下:
using UnityEditor;using UnityEngine;[InitializeOnLoad]public class CompilerOptionsEditorScript{ static CompilerOptionsEditorScript() { EditorApplication.update += OnEditorUpdate; } static void OnEditorUpdate() { if( EditorApplication.isCompiling ) Debug.Log( "Scripts are compiling" ); }
}
[InitializeOnLoad]属性使得我们的编辑器类可以在unity加载之后不需要玩家操作就可以做一些初始化功能。
然后我们使用EditorApplication.update委托接收编辑器更新的事件。
上面的代码完成之后,如果我们改变了脚本,那么就会在console里输出scripts are compiling。
我们的目的是阻止自动编译。例如我们阻止运行时编译脚本。<
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。