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