public void Serialize(ref InventoryData data) { var _inventories = new List <Inventory>(inventoryDict.Values); foreach (var inv in _inventories) { if (inv.owner) { inv.id = inv.owner.scene.name + inv.owner.transform.parent.position.ToString(); } inv.OnBeforeSerialize(); } data.inventories = _inventories; }
public void Deserialize(InventoryData data) { inventoryDict = new Dictionary <string, Inventory>(); var _inventories = data.inventories; for (int i = 0; i < _inventories.Count; ++i) { _inventories[i].OnAfterDeserialize(); inventoryDict.Add(_inventories[i].id, _inventories[i]); } mainInventory = inventoryDict["main"]; characterInventory = inventoryDict["character"]; bagSlotManager.AssignInventory(mainInventory); characterSlotManager.AssignInventory(characterInventory); }