public void Encrypt() { string playerFile = Path.Combine(Location, "player.salakieli"); if (File.Exists(playerFile + ".xml")) { string contents = File.ReadAllText(playerFile + ".xml"); GameSaveCrypto.Encrypt(playerFile, contents); } string worldStateFile = Path.Combine(Location, "world_state.salakieli"); if (File.Exists(worldStateFile + ".xml")) { string contents = File.ReadAllText(worldStateFile + ".xml"); GameSaveCrypto.Encrypt(worldStateFile, contents); } string magicNumbersFile = Path.Combine(Location, "magic_numbers.salakieli"); if (File.Exists(magicNumbersFile + ".xml")) { string contents = File.ReadAllText(magicNumbersFile + ".xml"); GameSaveCrypto.Encrypt(magicNumbersFile, contents); } }
public void SaveEncryptedData() { string playerFile = Path.Combine(Location, "player.salakieli"); if (File.Exists(playerFile)) { string contents = GameSaveCrypto.Decrypt(playerFile); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(contents); XmlNode transformNode = xmlDoc.SelectSingleNode("//Entity/_Transform"); transformNode.Attributes["position.x"].Value = PositionX.ToString(); transformNode.Attributes["position.y"].Value = PositionY.ToString(); XmlNode damageNode = xmlDoc.SelectSingleNode("//Entity/DamageModelComponent"); damageNode.Attributes["hp"].Value = (HP / 25f).ToString(); damageNode.Attributes["max_hp"].Value = (MaxHP / 25f).ToString(); XmlNode walletNode = xmlDoc.SelectSingleNode("//Entity/WalletComponent"); walletNode.Attributes["money"].Value = Money.ToString(); XmlNode gameLogNode = xmlDoc.SelectSingleNode("//Entity/GameLogComponent"); gameLogNode.Attributes["report_damage"].Value = ReportDamage ? "1" : "0"; using (var stringWriter = new StringWriter()) using (var xmlTextWriter = XmlWriter.Create(stringWriter)) { xmlDoc.WriteTo(xmlTextWriter); xmlTextWriter.Flush(); GameSaveCrypto.Encrypt(playerFile, stringWriter.GetStringBuilder().ToString()); } } }