public SaveFile Save(SaveFile saveFile) { //For each item in inventory foreach (KeyValuePair <string, Pair <IInventoryItem, int> > data in storedItems) { saveFile.AddNode(new NodePath("inventory." + data.Value.first.Name + ".amount"), new Node(data.Value.second.ToString())); //For each data entry in item foreach (KeyValuePair <string, object> entry in data.Value.first.GetData()) { saveFile.AddNode(new NodePath("inventory." + data.Value.first.Name + ".data." + entry.Key), new Node(entry.Value.ToString())); } } return(saveFile); }
public void Save() { lock (saveloadLockObject) { if (!Directory.Exists(@"data\)")) { Directory.CreateDirectory(@"data\"); } string dataPath = @"data\" + player.Name; SaveFile saveFile = new SaveFile(dataPath); inventory.Save(saveFile); Node playerData = new Node("playerdata"); playerData.AddNode("digxp", new Node(xp.ToString())); playerData.AddNode("digmoney", new Node(digMoney_.ToString())); saveFile.AddNode("playerdata", playerData); saveFile.Save(); /*IFormatter formatter = new BinaryFormatter(); * Stream stream = new FileStream(dataPath, FileMode.Create, FileAccess.Write, FileShare.ReadWrite); * formatter.Serialize(stream, digXp); * formatter.Serialize(stream, digMoney); * stream.Close();*/ } }