特殊文件夾與腳本編譯順序
Unity保留了一些項目文件夾的命名,分別表示了一些特殊用途。這些目錄對腳本的編譯順序有寫影響。目錄的名稱分別爲:
- Assets
- Editor
- Editor default resources
- Gizmos
- Plugins
- Resources
- Standard Assets
- StreamingAssets
參考特殊文件夾命名的用途
有四個編譯階段。腳本的編譯階段取決於存放的目錄。
有個非常重要的特性:腳本必須被其他的腳本引用。基本準則:編譯中,在任意階段都不能被引用。在這個階段前的都完全可以使用。
另一種情況:當某個腳本用一門語言編寫在被另一門語言的類引用時(如:一個Unity腳本(內置的Unity腳本)文件使用了C#定義了一些類成員)。這裏的準則是:被引用的類必須在這之前被便編譯過。
編譯階段如下:
- 階段1:運行時腳本,在目錄爲:Startdard Assets, Pro Standard Assets 和 Plugins。
- 階段2:編輯器腳本,在位於Standard Assets, Pro Standard Assets和Plugins的頂級目錄下的Editor目錄腳本。
- 階段3:不在Editor下的其他腳本。
- 階段4:剩下其餘的腳本(就是Assets/Editor下的腳本)
舉個典型編譯順序的重要栗子:當一個Unity腳本(內置的Unity腳本)需要引用一個C#類文件。爲了實現,你需要將這個C#文件置於Plugins目錄內,且Unity腳本文件不在這些特殊目錄下。如果不這樣做,將會報錯一個:C#類無法被找到的錯誤。
注意:Standard Assets目錄只能在Assets目錄下。