static void Bootstrap() { HandleSettings(); UpdateTypes(); Random.Bootstrap(); Comparers.Bootstrap(); ProcessorEcs.Bootstrap(); HandleScenes(); void HandleSettings() { var t = Resources.Load <TextAsset>("SettingsFramework"); if (t != null) { JsonUtility.FromJsonOverwrite(t.text, Settings); } Settings.SizeGenerations = Settings.SizeComponents / 32; Application.targetFrameRate = Settings.Fps; QualitySettings.vSyncCount = Settings.Vsync; if (Settings.Fps == -1) { Time.Fps = 60; Time.FpsLimit = false; } else { Time.Fps = Settings.Fps; Time.FpsLimit = true; } Time.FpsPhysics = Settings.FpsPhysics; } void HandleScenes() { var scene = SceneManager.CreateScene(KernelSceneName, new CreateSceneParameters(LocalPhysicsMode.None)); var objKernel = new GameObject("Actors Setup"); SceneManager.MoveGameObjectToScene(objKernel, scene); SceneMain.NextActiveSceneName = SceneManager.GetActiveScene().name; var kernel = objKernel.AddComponent <LayerKernel>(); InstanceInternal = kernel; foreach (var plugPath in Settings.Plugins) { var pl = Resources.Load <Pluggable>(plugPath); pl.Plug(); } } }
void IRequireActorsLayer.Bootstrap(Layer layer) { this.layer = layer; processorEcs = layer.processorEcs; }