public static LoadGameResult LoadSaveGameData( string saveName, string[] loadedModuleNames) { List <ModuleInfo> modules = MBSaveLoad.GetModules(loadedModuleNames); MBSaveLoad.InitializeAutoSaveIndex(saveName); string fileName = saveName + ".sav"; ISaveDriver driver = MBSaveLoad._saveDriver; driver.SetFileName(fileName); ApplicationVersion applicationVersion = driver.LoadMetaData().GetApplicationVersion(); if (applicationVersion.Major <= 1 && applicationVersion.Minor <= 4 && applicationVersion.Revision < 2) { driver = (ISaveDriver) new OldFileDriver(); driver.SetFileName(fileName); } LoadResult loadResult = SaveManager.Load(driver, true); if (loadResult.Successful) { MBSaveLoad.ActiveSaveSlotName = !MBSaveLoad.IsSaveFileNameReserved(saveName) ? saveName : (string)null; return(new LoadGameResult(loadResult, MBSaveLoad.CheckModules(loadResult.MetaData, modules))); } Debug.Print("Error: Could not load the game!"); return((LoadGameResult)null); }
private static bool SaveGame(string saveName, MetaData metaData) { string fileName = saveName + ".sav"; ISaveDriver saveDriver = MBSaveLoad._saveDriver; saveDriver.SetFileName(fileName); bool flag = false; try { flag = Game.Current.Save(metaData, saveDriver); } catch (Exception ex) { Debug.Print("Unable to create save game data"); Debug.Print(ex.Message); Debug.SilentAssert(ModuleHelper.GetModules().Any <ModuleInfo>((Func <ModuleInfo, bool>)(m => !m.IsOfficial)), ex.Message, callerFile: "C:\\Develop\\mb3\\Source\\Bannerlord\\TaleWorlds.Core\\MBSaveLoad.cs", callerMethod: nameof(SaveGame), callerLine: 334); } return(flag); }