public SavableInventoryData ToSavableData() { SavableInventoryData toSave = new SavableInventoryData(); foreach (var slot in inventoryContent) { toSave.inventoryContent.Add(slot.ToSavableData()); } toSave.gold = gold; return(toSave); }
public static void setSavedInventory(SavableInventoryData savedData) { InventoryData data = InventoryData.CreateInstance <InventoryData> (); data.gold = savedData.gold; foreach (var _slot in savedData.inventoryContent) { ItemData item = ItemFactory.Instance.MakeItem(_slot.itemStack.data); if (item) { ItemStack stack = new ItemStack(item, _slot.itemStack.sizeStack); InventoryData.InventorySlot slot = new InventoryData.InventorySlot(_slot.pos, stack); data.inventoryContent.Add(slot); } } inventoryData = data; if (_instance != null) { _instance.NotifyAll(); } }