Ejemplo n.º 1
0
        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();
                }
            }
        }
Ejemplo n.º 2
0
 void IRequireActorsLayer.Bootstrap(Layer layer)
 {
     this.layer   = layer;
     processorEcs = layer.processorEcs;
 }