public void LoadMissingScenarioDataIntoGame() { List <KSPScenarioType> validScenarios = KSPScenarioType.GetAllScenarioTypesInAssemblies(); foreach (KSPScenarioType validScenario in validScenarios) { if (HighLogic.CurrentGame.scenarios.Exists(psm => psm.moduleName == validScenario.ModuleType.Name)) { continue; } bool loadModule = false; if (HighLogic.CurrentGame.Mode == Game.Modes.CAREER) { loadModule = validScenario.ScenarioAttributes.HasCreateOption(ScenarioCreationOptions.AddToNewCareerGames); } if (HighLogic.CurrentGame.Mode == Game.Modes.SCIENCE_SANDBOX) { loadModule = validScenario.ScenarioAttributes.HasCreateOption(ScenarioCreationOptions.AddToNewScienceSandboxGames); } if (HighLogic.CurrentGame.Mode == Game.Modes.SANDBOX) { loadModule = validScenario.ScenarioAttributes.HasCreateOption(ScenarioCreationOptions.AddToNewSandboxGames); } if (loadModule) { DarkLog.Debug("Creating new scenario module " + validScenario.ModuleType.Name); HighLogic.CurrentGame.AddProtoScenarioModule(validScenario.ModuleType, validScenario.ScenarioAttributes.TargetScenes); } } }
public void LoadMissingScenarioDataIntoGame() { //ResourceScenario.Instance.Load(); var validScenarios = KSPScenarioType.GetAllScenarioTypesInAssemblies() .Where(s => !HighLogic.CurrentGame.scenarios.Exists(psm => psm.moduleName == s.ModuleType.Name) && LoadModuleByGameMode(s)); foreach (var validScenario in validScenarios) { LunaLog.Log($"[LMP]: Creating new scenario module {validScenario.ModuleType.Name}"); HighLogic.CurrentGame.AddProtoScenarioModule(validScenario.ModuleType, validScenario.ScenarioAttributes.TargetScenes); } }