Exemple #1
0
        private void PrepareBaseSession(MyObjectBuilder_Checkpoint checkpoint, MyObjectBuilder_Sector sector)
        {
            ScriptManager.Init(checkpoint.ScriptManagerData);
            MyDefinitionManager.Static.LoadData(checkpoint.Mods);

            LoadGameDefinition(checkpoint);

            var fonts = MyDefinitionManager.Static.GetFontDefinitions();

            foreach (var font in fonts)
            {
                if (!MyGuiManager.FontExists(font.Id.SubtypeId.String))
                {
                    VRageRender.MyRenderProxy.CreateFont((int)font.Id.SubtypeId, font.Path, false);
                }
            }


            MyDefinitionManager.Static.TryGetDefinition <MyScenarioDefinition>(checkpoint.Scenario, out Scenario);

            WorldBoundaries = checkpoint.WorldBoundaries;

            FixIncorrectSettings(Settings);

            // Use whatever setting is in scenario if there was nothing in the file (0 min and max).
            // SE scenarios have nothing while ME scenarios have size defined.
            if (!WorldBoundaries.HasValue && Scenario != null)
            {
                WorldBoundaries = Scenario.WorldBoundaries;
            }

            MySector.InitEnvironmentSettings(sector.Environment);

            LoadDataComponents();
            LoadObjectBuildersComponents(checkpoint.SessionComponents);
        }