Exemple #1
0
 protected override void setProperty(XElement element)
 {
     Id    = int.Parse(element.Element("Id").Value);
     Name  = element.Element("Name").Value;
     Price = int.Parse(element.Element("Price").Value);
     foreach (XElement item2 in element.Elements("Items"))
     {
         int[]             itemData = Array.ConvertAll(item2.Value.Split(','), (string x) => int.Parse(x));
         PayItemEffectInfo item     = new PayItemEffectInfo(itemData);
         Items.Add(item);
     }
 }
Exemple #2
0
 protected override void setProperty(XElement element)
 {
     this.Id    = int.Parse(element.Element("Id").get_Value());
     this.Name  = element.Element("Name").get_Value();
     this.Price = int.Parse(element.Element("Price").get_Value());
     using (IEnumerator <XElement> enumerator = element.Elements("Items").GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             XElement current  = enumerator.get_Current();
             int[]    itemData = Array.ConvertAll <string, int>(current.get_Value().Split(new char[]
             {
                 ','
             }), (string x) => int.Parse(x));
             PayItemEffectInfo payItemEffectInfo = new PayItemEffectInfo(itemData);
             this.Items.Add(payItemEffectInfo);
         }
     }
 }
Exemple #3
0
        public int GetBuyNum()
        {
            Comm_UserDatas instance = Comm_UserDatas.Instance;
            List <int>     list     = new List <int>();

            using (List <PayItemEffectInfo> .Enumerator enumerator = this.Items.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    PayItemEffectInfo current = enumerator.get_Current();
                    int num  = 0;
                    int num2 = 0;
                    if (current.Type == 1 && current.MstId == 53)
                    {
                        int         num3 = instance.User_basic.GetPortMaxExtendNum() - instance.User_basic.Max_chara;
                        int         num4 = 0;
                        Mem_useitem mem_useitem;
                        if (instance.User_useItem.TryGetValue(53, ref mem_useitem))
                        {
                            num4 = mem_useitem.Value;
                        }
                        if (num3 > 0)
                        {
                            num = num3 / 10 - num4;
                        }
                    }
                    else if (current.Type == 1)
                    {
                        Mem_useitem mem_useitem2 = null;
                        if (Comm_UserDatas.Instance.User_useItem.TryGetValue(current.MstId, ref mem_useitem2))
                        {
                            num2 = mem_useitem2.Value;
                        }
                        int num5 = 3000 - num2;
                        if (num5 > 0)
                        {
                            num = num5 / current.Count;
                        }
                    }
                    else if (current.Type == 2)
                    {
                        num = 2147483647;
                    }
                    else if (current.Type == 3)
                    {
                        enumMaterialCategory             mstId          = (enumMaterialCategory)current.MstId;
                        Dictionary <int, Mst_item_limit> mst_item_limit = Mst_DataManager.Instance.Mst_item_limit;
                        int materialLimit = Mst_DataManager.Instance.Mst_item_limit.get_Item(1).GetMaterialLimit(mst_item_limit, mstId);
                        num2 = Comm_UserDatas.Instance.User_material.get_Item(mstId).Value;
                        int num6 = materialLimit - num2;
                        if (num6 > 0)
                        {
                            num = num6 / current.Count;
                        }
                    }
                    list.Add(num);
                }
            }
            int num7 = Enumerable.Min(list);

            return((num7 != 2147483647) ? num7 : -1);
        }