예제 #1
0
        public static void GetItemAttri(string equipID, ref Dictionary <AttrType, float> add, ref Dictionary <AttrType, float> mul)
        {
            SysBattleItemsVo sysBattleItemsVo;

            if (BattleEquipTools_config.GetBattleItemVo(equipID, out sysBattleItemsVo))
            {
                if (!string.IsNullOrEmpty(sysBattleItemsVo.attribute))
                {
                    string[] array = sysBattleItemsVo.attribute.Split(new char[]
                    {
                        ','
                    });
                    for (int i = 0; i < array.Length; i++)
                    {
                        if (!string.IsNullOrEmpty(array[i]) && !(array[i] == "[]"))
                        {
                            string[] array2 = array[i].Split(new char[]
                            {
                                '|'
                            });
                            int num;
                            if (int.TryParse(array2[0], out num))
                            {
                                AttrType attrType = (AttrType)num;
                                if (array2[1].Contains("%"))
                                {
                                    if (!mul.ContainsKey(attrType))
                                    {
                                        mul.Add(attrType, 0f);
                                    }
                                    string text = array2[1].Trim();
                                    Dictionary <AttrType, float> dictionary;
                                    Dictionary <AttrType, float> expr_CF = dictionary = mul;
                                    AttrType key;
                                    AttrType expr_D4 = key = attrType;
                                    float    num2    = dictionary[key];
                                    expr_CF[expr_D4] = num2 + float.Parse(text.Substring(0, text.Length - 1)) / 100f;
                                }
                                else
                                {
                                    if (!add.ContainsKey(attrType))
                                    {
                                        add.Add(attrType, 0f);
                                    }
                                    Dictionary <AttrType, float> dictionary2;
                                    Dictionary <AttrType, float> expr_129 = dictionary2 = add;
                                    AttrType key;
                                    AttrType expr_12E = key = attrType;
                                    float    num2     = dictionary2[key];
                                    expr_129[expr_12E] = num2 + float.Parse(array2[1]);
                                }
                            }
                        }
                    }
                }
            }
        }
        private bool callback(object obj, int index)
        {
            ItemDynData      itemDynData = obj as ItemDynData;
            SysBattleItemsVo vo;

            if (itemDynData != null && BattleEquipTools_config.GetBattleItemVo(itemDynData.typeId, out vo))
            {
                this.list.Add(new ItemInfo(this.list.Count, itemDynData.itemOid, itemDynData.count, vo));
            }
            return(true);
        }
예제 #3
0
 public static List <string> GetShopItems(List <string> shopData, BattleEquipType type)
 {
     if (shopData != null)
     {
         shopData = shopData.Where(delegate(string obj)
         {
             SysBattleItemsVo sysBattleItemsVo;
             return(BattleEquipTools_config.GetBattleItemVo(obj, out sysBattleItemsVo) && sysBattleItemsVo.type == (int)type);
         }).ToList <string>();
     }
     return(shopData);
 }
        public static void AddItem(List <ItemInfo> items, string targetID)
        {
            int              num = -1;
            ItemInfo         itemInfo;
            SysBattleItemsVo vo;

            if (BattleEquipTools_Travers.GetItem_first_most(items, targetID, out itemInfo, out num))
            {
                itemInfo.Num++;
            }
            else if (items != null && items.Count < 6 && BattleEquipTools_config.GetBattleItemVo(targetID, out vo))
            {
                items.Add(new ItemInfo(items.Count, 0, 1, vo));
            }
        }
예제 #5
0
        public static void idsToSItems(ref Dictionary <ColumnType, Dictionary <string, SItemData> > sItems, List <string> ids, BattleEquipType menuType = BattleEquipType.none)
        {
            BattleEquipTools_config.RegularSItems(ref sItems, true);
            SysBattleItemsVo sysBattleItemsVo = null;

            if (ids != null)
            {
                for (int i = 0; i < ids.Count; i++)
                {
                    if (BattleEquipTools_config.GetBattleItemVo(ids[i], out sysBattleItemsVo) && (menuType == BattleEquipType.none || sysBattleItemsVo.type == (int)menuType) && sItems.ContainsKey((ColumnType)sysBattleItemsVo.level))
                    {
                        sItems[(ColumnType)sysBattleItemsVo.level].Add(sysBattleItemsVo.items_id, new SItemData(sysBattleItemsVo));
                    }
                }
            }
        }
예제 #6
0
 private static void TraverseEquipTree(string equipID, ITraversCallback Del, int depth = 0)
 {
     if (Del != null && Del.TraversingCallback != null)
     {
         SysBattleItemsVo sysBattleItemsVo;
         if (BattleEquipTools_config.GetBattleItemVo(equipID, out sysBattleItemsVo))
         {
             if (Del.TraversingCallback(sysBattleItemsVo, depth))
             {
                 string[] array = sysBattleItemsVo.consumption.Split(new char[]
                 {
                     ','
                 });
                 if (array.Length != 0 && !(sysBattleItemsVo.consumption == "[]"))
                 {
                     for (int i = 0; i < array.Length; i++)
                     {
                         BattleEquipTools_Travers.TraverseEquipTree(array[i], Del, depth + 1);
                     }
                 }
             }
         }
     }
 }
예제 #7
0
        public static int GetItemPrice(string equipID)
        {
            SysBattleItemsVo sysBattleItemsVo;

            return((!BattleEquipTools_config.GetBattleItemVo(equipID, out sysBattleItemsVo)) ? 0 : sysBattleItemsVo.sell);
        }