public void Read(BinaryReader p_reader) { ReadMetaData(p_reader); Int32 num = p_reader.ReadInt32(); for (Int32 i = 0; i < num; i++) { String text = p_reader.ReadString(); SaveGameData saveGameData = new SaveGameData(text); saveGameData.Read(p_reader); m_saveGameData.Add(text, saveGameData); } }
public void LoadSaveGameData(SaveGameData p_saveGameData, String p_file) { String path = Path.Combine(GamePaths.UserGamePath, p_file); if (File.Exists(path)) { using (FileStream fileStream = File.OpenRead(path)) { using (BinaryReader binaryReader = new BinaryReader(fileStream)) { p_saveGameData.Read(binaryReader); } } } }
private static EDifficulty GetDifficulty(BinaryReader p_reader) { p_reader.ReadInt32(); String text = p_reader.ReadString(); if (text != "MainData") { LegacyLogger.Log("Not MainData: " + text); return(EDifficulty.NORMAL); } SaveGameData saveGameData = new SaveGameData(text); saveGameData.Read(p_reader); return(saveGameData.Get <EDifficulty>("Difficulty", EDifficulty.NORMAL)); }
public void Read(BinaryReader p_reader) { m_sealed = true; Int32 num = p_reader.ReadInt32(); if (num > 0 && m_bools == null) { m_bools = new Dictionary <String, Boolean>(num); } for (Int32 i = 0; i < num; i++) { String text = p_reader.ReadString(); m_bools.Add(text, p_reader.ReadBoolean()); m_mapping.Add(text, TypeCode.Boolean); } num = p_reader.ReadInt32(); if (num > 0 && m_bytes == null) { m_bytes = new Dictionary <String, Byte>(num); } for (Int32 i = 0; i < num; i++) { String text = p_reader.ReadString(); m_bytes.Add(text, p_reader.ReadByte()); m_mapping.Add(text, TypeCode.Byte); } num = p_reader.ReadInt32(); if (num > 0 && m_shorts == null) { m_shorts = new Dictionary <String, Int16>(num); } for (Int32 i = 0; i < num; i++) { String text = p_reader.ReadString(); m_shorts.Add(text, p_reader.ReadInt16()); m_mapping.Add(text, TypeCode.Int16); } num = p_reader.ReadInt32(); if (num > 0 && m_ushorts == null) { m_ushorts = new Dictionary <String, UInt16>(num); } for (Int32 i = 0; i < num; i++) { String text = p_reader.ReadString(); m_ushorts.Add(text, p_reader.ReadUInt16()); m_mapping.Add(text, TypeCode.UInt16); } num = p_reader.ReadInt32(); if (num > 0 && m_ints == null) { m_ints = new Dictionary <String, Int32>(num); } for (Int32 i = 0; i < num; i++) { String text = p_reader.ReadString(); m_ints.Add(text, p_reader.ReadInt32()); m_mapping.Add(text, TypeCode.Int32); } num = p_reader.ReadInt32(); if (num > 0 && m_uints == null) { m_uints = new Dictionary <String, UInt32>(num); } for (Int32 i = 0; i < num; i++) { String text = p_reader.ReadString(); m_uints.Add(text, p_reader.ReadUInt32()); m_mapping.Add(text, TypeCode.UInt32); } num = p_reader.ReadInt32(); if (num > 0 && m_longs == null) { m_longs = new Dictionary <String, Int64>(num); } for (Int32 i = 0; i < num; i++) { String text = p_reader.ReadString(); m_longs.Add(text, p_reader.ReadInt64()); m_mapping.Add(text, TypeCode.Int64); } num = p_reader.ReadInt32(); if (num > 0 && m_ulongs == null) { m_ulongs = new Dictionary <String, UInt64>(num); } for (Int32 i = 0; i < num; i++) { String text = p_reader.ReadString(); m_ulongs.Add(text, p_reader.ReadUInt64()); m_mapping.Add(text, TypeCode.UInt64); } num = p_reader.ReadInt32(); if (num > 0 && m_floats == null) { m_floats = new Dictionary <String, Single>(num); } for (Int32 i = 0; i < num; i++) { String text = p_reader.ReadString(); m_floats.Add(text, p_reader.ReadSingle()); m_mapping.Add(text, TypeCode.Single); } num = p_reader.ReadInt32(); if (num > 0 && m_doubles == null) { m_doubles = new Dictionary <String, Double>(num); } for (Int32 i = 0; i < num; i++) { String text = p_reader.ReadString(); m_doubles.Add(text, p_reader.ReadDouble()); m_mapping.Add(text, TypeCode.Double); } num = p_reader.ReadInt32(); if (num > 0 && m_strings == null) { m_strings = new Dictionary <String, String>(num); } for (Int32 i = 0; i < num; i++) { String text = p_reader.ReadString(); m_strings.Add(text, p_reader.ReadString()); m_mapping.Add(text, TypeCode.String); } num = p_reader.ReadInt32(); if (num > 0 && m_dataObjects == null) { m_dataObjects = new Dictionary <String, SaveGameData>(num); } for (Int32 i = 0; i < num; i++) { String text = p_reader.ReadString(); SaveGameData saveGameData = new SaveGameData(text); saveGameData.Read(p_reader); m_dataObjects.Add(text, saveGameData); m_mapping.Add(text, TypeCode.Object); } }