特殊目录和脚本编译顺序

大多数情况下,您能够选择不论什么你喜欢的目录在您的项目的名称。但unity储备一些名称以指示内容有一个特殊的用途。这些目录中有些会影响脚本编译的顺序。从根本上说,有四个单独的脚本编译,将编译脚本的阶段由其父目录决定。

这是重要的情况下,脚本必须引用在其它脚本中定义的类。主要的规则是在编译阶段后的不论什么东西不能被引用。不论什么编译中的当前阶段或更早的阶段是全然可用。

还有一种情况发生时写的一种语言脚本必须提到还有一种语言 (譬如说,声明在 C#脚本中定义的类变量的 UnityScript文件) 中定义的类。这里的规则是被引用的类必须在较早前的阶段已经编译过。

编译阶段例如以下:-

1阶段:执行脚本目录中的称为Standard Assets,ProStandard AssetsPlugins.

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#类。