Beispiel #1
0
 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);
 }
Beispiel #2
0
        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();*/
            }
        }