バージョン
Entities 0.6.0
Worldとは
必要な部分だけ抜き出すとこんな感じ
public partial class World : IDisposable { public static World DefaultGameObjectInjectionWorld { get; set; } private EntityManager m_EntityManager; public string Name { get; } public EntityManager EntityManager => m_EntityManager; public World(string name) { Name = name; m_EntityManager = new EntityManager(this); } }
World.DefaultGameObjectInjectionWorldの設定
DefaultWorldInitialization.cs
のDefaultWorldInitialization.Initialize()
で
public static void Initialize(string defaultWorldName, bool editorWorld) { var world = new World(defaultWorldName); World.DefaultGameObjectInjectionWorld = world; }
のようにしてWorld.DefaultGameObject
を注入される。
また、このDefaultWorldInitialization.Initialize()
は次のようにAutomaticWorldBootstrap.Initialize()
で実行される。
static class AutomaticWorldBootstrap { [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] static void Initialize() { DefaultWorldInitialization.Initialize("Default World", false); } }