unity3d 特殊文件夹和脚本编译顺序
unity3d 特殊文件夹和脚本编译顺序
转自http://blog.csdn.net/u010019717/article/details/40474631
大多数情况下,您可以选择任何你喜欢的文件夹在您的项目的名称,但unity储备一些名称以指示内容有一个特殊的用途。这些文件夹中有些会影响脚本编译的顺序。从根本上说,有四个单独的脚本编译,将编译脚本的阶段由其父文件夹决定。
这是重要的情况下,脚本必须引用在其他脚本中定义的类。基本的规则是在编译阶段后的任何东西不能被引用。任何编译中的当前阶段或更早的阶段是完全可用。
另一种情况发生时写的一种语言脚本必须提到另一种语言 (譬如说,声明在 C#脚本中定义的类变量的 UnityScript文件) 中定义的类。这里的规则是被引用的类必须在较早前的阶段已经编译过。
编译阶段如下:-
第 1阶段:运行脚本文件夹中的称为Standard Assets,ProStandard Assets和Plugins.
第 2阶段:编辑器Editor脚本文件夹中的称为StandardAssets/Editor,Pro Standard Assets/Editor andPlugins/Editor.
第 3阶段:不在Editor文件夹内的所有其他脚本.
第四阶段:所有剩余的脚本 (即,那些被称作Editor编辑器的文件夹内).
此外,将不在所有编译任何脚本内一个名为WebPlayerTemplates的 Assets文件夹上一级文件夹。这种行为是略有不同,也在子文件夹内工作的特殊文件夹名称 (例如,Scripts/Editor工作作为编辑器脚本文件夹中但Scripts/WebPlayerTemplates 不会阻止编译)。
一个常见的例子是UnityScript文件需要引用一个 C#文件中定义类的地方。您可以通过在非特殊文件夹中放置的 C#文件的Plugins文件夹内和UnityScript文件来达到这个。如果你不这样做,你将会得到错误,并说找不到的C# 类。