public static SaveGameMeta ReadMetaData(BinaryReader p_reader, Boolean p_getDifficulty) { String text = p_reader.ReadString(); Int64 value = p_reader.ReadInt64(); Int32 p_saveNumber = p_reader.ReadInt32(); Int32 p_type = p_reader.ReadInt32(); DateTime p_time; if (!DateTime.TryParseExact(text, "yyyy-MM-dd HH:mm", null, DateTimeStyles.None, out p_time)) { LegacyLogger.Log("Cannot parse Time: " + text); return(default(SaveGameMeta)); } SaveGameMeta result; if (p_getDifficulty) { result = new SaveGameMeta(p_time, TimeSpan.FromTicks(value), p_saveNumber, (ESaveGameType)p_type, GetDifficulty(p_reader)); } else { result = new SaveGameMeta(p_time, TimeSpan.FromTicks(value), p_saveNumber, (ESaveGameType)p_type); } result.Loaded = true; return(result); }
public Dictionary <String, SaveGameMeta> GetAllSaveGames(Boolean isForSaveMenu) { Dictionary <String, SaveGameMeta> dictionary = new Dictionary <String, SaveGameMeta>(); String[] files; if (LegacyLogic.Instance.ModController.InModMode) { files = Directory.GetFiles(WorldManager.CurrentSaveGameFolder, "*.lsg", SearchOption.TopDirectoryOnly); } else { files = Directory.GetFiles(GamePaths.UserGamePath, "*.lsg", SearchOption.TopDirectoryOnly); } for (Int32 i = 0; i < files.Length; i++) { if (!files[i].Contains("global.lsg") && !files[i].Contains("global3.lsg") && !files[i].Contains("hints.lsg") && !files[i].Contains("CheatSave.lsg")) { using (FileStream fileStream = new FileStream(files[i], FileMode.Open)) { using (BinaryReader binaryReader = new BinaryReader(fileStream)) { SaveGameMeta value = SaveGame.ReadMetaData(binaryReader, true); if (value.Loaded) { value.Name = Path.GetFileNameWithoutExtension(files[i]); if (!isForSaveMenu || value.Type != ESaveGameType.AUTO) { dictionary.Add(value.Name, value); } } } } } } return(dictionary); }
public SaveGame(SaveGameMeta p_meta) { m_saveGameData = new Dictionary <String, SaveGameData>(); m_metaData = p_meta; }
public SaveGame() { m_saveGameData = new Dictionary <String, SaveGameData>(); m_metaData = new SaveGameMeta(DateTime.Now, default(TimeSpan), 0, ESaveGameType.NORMAL); }
public SaveGameMeta(DateTime p_time, TimeSpan p_playTime, Int32 p_saveNumber, ESaveGameType p_type) { this = new SaveGameMeta(p_time, p_playTime, p_saveNumber, p_type, EDifficulty.NORMAL); }