public void Start(string playerName, PlayerCharacterDataType type, FileVersion fileVer) { string fileVerStr = fileVer.ToString(); fileVerStr = fileVerStr.Replace('_', '.'); Start(playerName, type, fileVerStr); }
public void Start(string playerName, PlayerCharacterDataType type, string fileVer) { playerName = playerName.ToLower(); if (!exists(playerName)) throw new PlayerCharacterDoesNotExistException(playerName); End(); // Just in case string withNameDirectory = buildPlayerPath(playerName); string extention = ".null"; switch (type) { case (PlayerCharacterDataType.PCAppearance): extention = ".appearance"; break; case (PlayerCharacterDataType.PCAttributes): extention = ".attributes"; break; case(PlayerCharacterDataType.PCLocation): extention = ".location"; break; case(PlayerCharacterDataType.PCInventory): extention = ".inventory"; break; case (PlayerCharacterDataType.PCSkills): extention = ".skills"; break; case (PlayerCharacterDataType.PCEnergies): extention = ".energies"; break; default: throw new ArgumentException("Unrecognized type of player data"); } // Open string filePath = Path.Combine(withNameDirectory, playerName + extention); fs = new FileStream(filePath, FileMode.Create, FileAccess.Write); bw = new BinaryWriter(fs); // Write version WriteValue(fileVer); }
public void Start(string playerName, PlayerCharacterDataType type, string fileVer) { playerName = playerName.ToLower(); if (!exists(playerName)) throw new PlayerCharacterDoesNotExistException(playerName); End(); // Just in case string withNameDirectory = buildPlayerPath(playerName); string extention = ".null"; switch (type) { case (PlayerCharacterDataType.PCAppearance): extention = ".appearance"; break; case (PlayerCharacterDataType.PCAttributes): extention = ".attributes"; break; case(PlayerCharacterDataType.PCLocation): extention = ".location"; break; case(PlayerCharacterDataType.PCInventory): extention = ".inventory"; break; case (PlayerCharacterDataType.PCSkills): extention = ".skills"; break; case (PlayerCharacterDataType.PCEnergies): extention = ".energies"; break; default: throw new ArgumentException("Unrecognized type of player data"); } // Open string filePath = Path.Combine(withNameDirectory, playerName + extention); fs = new FileStream(filePath, FileMode.Open, FileAccess.Read); br = new BinaryReader(fs); // Read version string ver = ReadString(); if (ver != fileVer) throw new InvalidOperationException("File version is wrong for this deserializer. Should be: " + fileVer + ", is: " + ver); }