示例#1
0
    /// <summary>
    /// 获得一个新物品
    /// </summary>
    /// <returns></returns>
    public BaseItem GetNewItem(int index)
    {
        switch (allItemDic[index].itemType)
        {
        case BaseItem.ItemType.EConsumables:
            ConsumablesItem tempConsumablesItem = (ConsumablesItem)allItemDic[index];
            return(new ConsumablesItem
            {
                itemId = tempConsumablesItem.itemId,
                itemName = tempConsumablesItem.itemName,
                itemContent = tempConsumablesItem.itemContent,
                itemIconPath = tempConsumablesItem.itemIconPath,
                itemType = tempConsumablesItem.itemType,
                itemMaxCount = tempConsumablesItem.itemMaxCount,
                itemSellGold = tempConsumablesItem.itemSellGold,
                itemUseMinLevel = tempConsumablesItem.itemUseMinLevel,
                itemGrade = tempConsumablesItem.itemGrade,
                itemCurrentCount = tempConsumablesItem.itemCurrentCount,
                itemRottenTime = tempConsumablesItem.itemRottenTime
            });

        case BaseItem.ItemType.EMaterial:
            break;

        case BaseItem.ItemType.EEquipment:
            EquipmentItem tempEquipmentItem = (EquipmentItem)allItemDic[index];
            return(new ConsumablesItem
            {
                itemId = tempEquipmentItem.itemId,
                itemName = tempEquipmentItem.itemName,
                itemContent = tempEquipmentItem.itemContent,
                itemIconPath = tempEquipmentItem.itemIconPath,
                itemType = tempEquipmentItem.itemType,
                itemMaxCount = tempEquipmentItem.itemMaxCount,
                itemSellGold = tempEquipmentItem.itemSellGold,
                itemUseMinLevel = tempEquipmentItem.itemUseMinLevel,
                itemGrade = tempEquipmentItem.itemGrade,
                itemCurrentCount = tempEquipmentItem.itemCurrentCount,
            });
        }

        return(null);
    }
示例#2
0
    /// <summary>
    /// 解析背包数据,Json格式
    /// </summary>
    void AnalysisJson()
    {
        JsonData jsonData = JsonMapper.ToObject(itemJson.text);

        //通过索引的方式获取json中的信息,既可以使用索引位置,也可以使用索引键名
        for (int i = 0; i < jsonData.Count; i++)
        {
            BaseItem tempBaseItem = new BaseItem
            {
                itemName         = jsonData[i]["itemName"].ToString(),
                itemId           = int.Parse(jsonData[i]["itemId"].ToString()),
                itemContent      = jsonData[i]["itemContent"].ToString(),
                itemIconPath     = jsonData[i]["itemIconPath"].ToString(),
                itemType         = (BaseItem.ItemType) int.Parse(jsonData[i]["itemType"].ToString()),
                itemMaxCount     = int.Parse(jsonData[i]["itemMaxCount"].ToString()),
                itemSellGold     = int.Parse(jsonData[i]["itemSellGold"].ToString()),
                itemCurrentCount = int.Parse(jsonData[i]["itemCurrentCount"].ToString())
            };
            BaseItem.ItemType itemType = (BaseItem.ItemType) int.Parse(jsonData[i]["itemType"].ToString());
            switch (itemType)
            {
            case BaseItem.ItemType.EConsumables:

                #region ConsumablesItem 数据解析

                ConsumablesItem tempConsumablesItem = new ConsumablesItem
                {
                    itemId           = tempBaseItem.itemId,
                    itemName         = tempBaseItem.itemName,
                    itemContent      = tempBaseItem.itemContent,
                    itemIconPath     = tempBaseItem.itemIconPath,
                    itemType         = tempBaseItem.itemType,
                    itemMaxCount     = tempBaseItem.itemMaxCount,
                    itemSellGold     = tempBaseItem.itemSellGold,
                    itemCurrentCount = tempBaseItem.itemCurrentCount,
                    itemUseMinLevel  = int.Parse(jsonData[i]["itemUseMinLevel"].ToString()),
                    itemGrade        = (BaseItem.ItemGrade) int.Parse(jsonData[i]["itemGrade"].ToString()),
                    itemRottenTime   = int.Parse(jsonData[i]["itemRottenTime"].ToString())
                };
                allItemDic.Add(tempConsumablesItem.itemId, tempConsumablesItem);

                #endregion

                break;

            case BaseItem.ItemType.EMaterial:
                break;

            case BaseItem.ItemType.EEquipment:

                #region Equipment 数据解析

                EquipmentItem tempEquipmentItem = new EquipmentItem
                {
                    itemId           = tempBaseItem.itemId,
                    itemName         = tempBaseItem.itemName,
                    itemContent      = tempBaseItem.itemContent,
                    itemIconPath     = tempBaseItem.itemIconPath,
                    itemType         = tempBaseItem.itemType,
                    itemMaxCount     = tempBaseItem.itemMaxCount,
                    itemSellGold     = tempBaseItem.itemSellGold,
                    itemCurrentCount = tempBaseItem.itemCurrentCount,
                    itemUseMinLevel  = int.Parse(jsonData[i]["itemUseMinLevel"].ToString()),
                    itemGrade        = (BaseItem.ItemGrade) int.Parse(jsonData[i]["itemGrade"].ToString())
                };

                allItemDic.Add(tempEquipmentItem.itemId, tempEquipmentItem);

                #endregion

                break;
            }
        }
    }