private static void LoadContainer(FileInfo file) { string metaPath = file.FullName; string dataPath = metaPath.Replace(".meta", ".dat"); Container cont = Main.AddNewContainer(true); var sm = SaveMeta.Load(metaPath); sm?.ReloadMeta(cont); SaveManager.LoadData(dataPath, cont); sm?.ReloadMeta(cont); if (sm == null || cont.TextData == null && (cont.content == null || (cont.content != null && cont.content.imgData == null))) { SaveManager.Destroy(file.Name.Substring(0, file.Name.IndexOf('.'))); cont.destroyOnClose = true; cont.Close(); return; } if (cont.TextData != null) { if (cont.TextData.ToUpper().StartsWith("HTTP")) { cont.loadWeb(cont.TextData, true); sm.ReloadMeta(cont); } else { cont.LoadText(cont.TextData); sm.ReloadMeta(cont); } } }
private static void SaveMetaData(Container cont) { var meta = new SaveMeta(cont); string metaFile = $"{cont.ID}.meta"; string metaPath = Path.Combine(SavePath, metaFile); if (cont.CensorActive || cont.ScramblerActive) { if (File.Exists(metaPath)) { File.Delete(metaPath); } } else { meta.Save(metaPath); } }
public static SaveMeta Load(string metaFile) { SaveMeta sm = null; IFormatter formatter = new BinaryFormatter(); Stream stream = null; try { stream = new FileStream(metaFile, FileMode.Open); sm = (SaveMeta)formatter.Deserialize(stream); } catch (Exception ex) { Bugs.Exist(ex); } //bugs don't exist finally { stream?.Close(); } return(sm); }