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

            LoadGameDefinition(checkpoint);

            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);
        }
Пример #2
0
        private void PrepareBaseSession(List <MyObjectBuilder_Checkpoint.ModItem> mods, MyScenarioDefinition definition = null)
        {
            ScriptManager.Init(null);
            MyDefinitionManager.Static.LoadData(mods);

            LoadGameDefinition(definition != null ? definition.GameDefinition : MyGameDefinition.Default);

            Scenario = definition;
            if (definition != null)
            {
                WorldBoundaries = definition.WorldBoundaries;

                MySector.EnvironmentDefinition = MyDefinitionManager.Static.GetDefinition <MyEnvironmentDefinition>(definition.Environment);
            }

            MySector.InitEnvironmentSettings();

            LoadDataComponents();
            InitDataComponents();
        }
Пример #3
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);
        }