Ejemplo n.º 1
0
    public void SetData(int strength, int intellect, int agility, int stamina, EquipmentType et, int id, string name, ItemQuality quality, ItemType type, string description, int amount, int capacity, int buyprice, int sellprice)
    {
        ItemEquipment dataTmp = new ItemEquipment();

        dataTmp.SetData(strength, intellect, agility, stamina, et, id, name, quality, type, description, amount, capacity, buyprice, sellprice);
        data = dataTmp;
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 解析装备
    /// </summary>
    private void ParseEquipment()
    {
        var jsonData = SerializeTool.JsonDeserialize(Contract.Instance.equipmentDataPath);

        for (int i = 0; i < jsonData.Count; i++)
        {
            var equipmentData = new ItemEquipment();
            equipmentData.SetData(jsonData[i]);
            allItems.Add(equipmentData.id, equipmentData);//向物品管理器中添加该数据
        }
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 根据id创建item 一定要返回新创建的item 否则引用数据备份会出现bug
    /// </summary>
    /// <param name="id"></param>
    private BaseItemData GetItemDataById(int id)
    {
        if (allItems.Count != 0)
        {
            BaseItemData baseItemData;
            allItems.TryGetValue(id, out baseItemData);
            switch (baseItemData.type)
            {
            case ItemType.Consumable:
                ItemConsumable itemConsumable = (ItemConsumable)baseItemData;
                ItemConsumable resultItem     = new ItemConsumable();
                resultItem.SetData(itemConsumable.hp, itemConsumable.mp, itemConsumable.itemEffect, baseItemData.id, baseItemData.name, baseItemData.quality, baseItemData.type, baseItemData.description, baseItemData.amount, baseItemData.capacity, baseItemData.buyprice, baseItemData.sellprice);
                return(resultItem);

            case ItemType.Equipment:
                ItemEquipment itemEquipment = (ItemEquipment)baseItemData;
                ItemEquipment resultItem1   = new ItemEquipment();
                resultItem1.SetData(itemEquipment.strength, itemEquipment.intellect, itemEquipment.agility, itemEquipment.stamina, itemEquipment.equipmentType, baseItemData.id, baseItemData.name, baseItemData.quality, baseItemData.type, baseItemData.description, baseItemData.amount, baseItemData.capacity, baseItemData.buyprice, baseItemData.sellprice);
                return(resultItem1);

            case ItemType.Material:
                ItemMaterial itemMaterial = (ItemMaterial)baseItemData;
                ItemMaterial resultItem2  = new ItemMaterial();
                resultItem2.SetData(baseItemData.id, baseItemData.name, baseItemData.quality, baseItemData.type, baseItemData.description, baseItemData.amount, baseItemData.capacity, baseItemData.buyprice, baseItemData.sellprice);
                return(resultItem2);

            case ItemType.Weapon:
                ItemWeapon itemWeapon  = (ItemWeapon)baseItemData;
                ItemWeapon resultItem3 = new ItemWeapon();
                resultItem3.SetData(itemWeapon.damage, itemWeapon.weaponType, itemWeapon.weaponEffects, baseItemData.id, baseItemData.name, baseItemData.quality, baseItemData.type, baseItemData.description, baseItemData.amount, baseItemData.capacity, baseItemData.buyprice, baseItemData.sellprice);
                return(resultItem3);
            }
        }
        else
        {
            Debug.LogError("物品列表中没有物品");
        }
        return(null);
    }