WorldContext
答案是否定的,首先World就不是只有一種類型,比如編輯器本身就也是一個World,里面顯示的游戲場景也是一個World,這兩個World互相協(xié)作構(gòu)成了我們的編輯體驗。然后點播放的時候,引擎又可以生成新的類型World來讓我們測試。簡單來說,UE其實是一個平行宇宙世界觀。
以下是一些世界類型:
namespace EWorldType
{ enum Type
{
None, // An untyped world, in most cases this will be the vestigial worlds of streamed in sub-levels Game, // The game world Editor, // A world being edited in the editor PIE, // A Play In Editor world Preview, // A preview world for an editor tool Inactive // An editor world that was loaded but not currently being edited in the level editor };
}
而UE用來管理和跟蹤這些World的工具就是WorldContext:
FWorldContext保存著ThisCurrentWorld來指向當前的World。而當需要從一個World切換到另一個World的時候(比如說當點擊播放時,就是從Preview切換到PIE),F(xiàn)WorldContext就用來保存切換過程信息和目標World上下文信息。所以一般在切換的時候,比如OpenLevel,也都會需要傳FWorldContext的參數(shù)。一般就來說,對于獨立運行的游戲,WorldCo