Ejemplo n.º 1
0
    public void LoadInventory(Character character)
    {
        ItemContianerSaveData savedSlots = ItemSaveIO.LoadItems(InventoryFileName);

        if (savedSlots == null)
        {
            return;
        }

        character.Inventory.Clear();

        character.Inventory.SetMaxSlots(savedSlots.SavedSlots.Length);

        for (int i = 0; i < savedSlots.SavedSlots.Length; i++)
        {
            ItemSlot         itemSlot  = character.Inventory.ItemSlots[i];
            ItemSlotSaveData savedSlot = savedSlots.SavedSlots[i];
            character.Inventory.AddListenerToSlot(i);

            if (savedSlot == null)
            {
                itemSlot.Item   = null;
                itemSlot.Amount = 0;
            }
            else
            {
                itemSlot.Item   = itemDatabase.GetItemCopy(savedSlot.ItemID);
                itemSlot.Amount = savedSlot.Amount;
            }
        }
    }
Ejemplo n.º 2
0
    private void SaveItems(IList <ItemSlot> itemSlots, string fileName)
    {
        var saveData = new ItemContianerSaveData(itemSlots.Count);

        for (int i = 0; i < saveData.SavedSlots.Length; i++)
        {
            ItemSlot itemSlot = itemSlots[i];

            if (itemSlot.Item == null)
            {
                saveData.SavedSlots[i] = null;
            }
            else
            {
                saveData.SavedSlots[i] = new ItemSlotSaveData(itemSlot.Item.ID, itemSlot.Amount);
            }
        }

        ItemSaveIO.SaveItems(saveData, fileName);
    }
Ejemplo n.º 3
0
    public void LoadEquipment(Character character)
    {
        ItemContianerSaveData savedSlots = ItemSaveIO.LoadItems(EquipmentFileName);

        if (savedSlots == null)
        {
            return;
        }
        foreach (ItemSlotSaveData savedSlot in savedSlots.SavedSlots)
        {
            if (savedSlot == null)
            {
                continue;
            }

            Item item = itemDatabase.GetItemCopy(savedSlot.ItemID);
            character.Inventory.AddItem(item);
            character.Equip((EquippableItem)item);
        }
    }
Ejemplo n.º 4
0
 public static void SaveItems(ItemContianerSaveData items, string fileName)
 {
     FileReadWrite.WriteToBinaryFile(baseSavePath + "/" + fileName + ".dat", items);
 }