示例#1
0
    ///////////////
    public void EquipItem(EquipmentItem item)
    {
        if (item == null)
        {
            return;
        }

        EquipmentItem equippedItem;

        // если на персонаже нет предмета в этом слоте, тогда надеваем предмет
        if (!HeroEquipment.TryGetValue(item.Slot, out equippedItem))
        {
            HeroEquipment.Add(item.Slot, item);
            InventoryContent.Instance.RemoveItem(item);

            if (OnEquipmentChanged != null)
            {
                OnEquipmentChanged();
            }

            return;
        }

        InventoryContent.Instance.AddEquipmentItem(equippedItem);
        InventoryContent.Instance.RemoveItem(item);
        HeroEquipment[item.Slot] = item;

        if (OnEquipmentChanged != null)
        {
            OnEquipmentChanged();
        }
    }
示例#2
0
    //Utils//

    ///////////////
    public void LoadProfile(JsonObject json)
    {
        InitBaseStats(GameDataStorage.Instance.NewProfileData);

        // экипировка героя
        JsonArray heroEquipments = json.Get <JsonArray>("hero_equipment");

        foreach (JsonObject obj in heroEquipments)
        {
            EquipmentItem item = GameDataStorage.Instance.GetEquipmentByName(obj.GetString("Name", string.Empty));

            HeroEquipment.Add((EquipmentSlot)obj.GetInt("Slot"), item);
        }

        // содержимое карманов
        JsonArray pocketItems = json.Get <JsonArray>("pocket_items");

        for (int i = 0; i < pocketItems.Count; i++)
        {
            if (pocketItems[i] == null)
            {
                continue;
            }

            MaterialData itemData = GameDataStorage.Instance.GetMaterialByName((string)pocketItems[i]);

            PocketItems[i] = new MaterialInfo(itemData, 1);
        }

        // прогресс по миссиям

        NormalWorldMissionNumber   = json.GetInt("Normal");
        WaterWorldMissionNumber    = json.GetInt("Water");
        FireWorldMissionNumber     = json.GetInt("Fire");
        EarthWorldMissionNumber    = json.GetInt("Earth");
        DarknessWorldMissionNumber = json.GetInt("Darkness");
        AirWorldMissionNumber      = json.GetInt("Air");
    }