public override string ToString()
 {
     if (this.IsMaterial())
     {
         string text = Utils.enumMaterialCategoryToString(this.MaterialCategory);
         return(string.Format("{0}(id:{1}) Count:{2}", text, this._item_id, this._count));
     }
     if (this.IsUseItem())
     {
         Mst_useitem mst_useitem = Mst_DataManager.Instance.Mst_useitem.get_Item(this.ItemID);
         return(string.Format("使用アイテム:{0}(id:{1}) Count:{2}", mst_useitem.Name, this.ItemID, this.Count));
     }
     return(string.Format("[Item None]", new object[0]));
 }
Ejemplo n.º 2
0
 public override string ToString()
 {
     if (IsMaterial())
     {
         string arg = Utils.enumMaterialCategoryToString(MaterialCategory);
         return($"{arg}(id:{_item_id}) Count:{_count}");
     }
     if (IsUseItem())
     {
         Mst_useitem mst_useitem = Mst_DataManager.Instance.Mst_useitem[ItemID];
         return($"使用アイテム:{mst_useitem.Name}(id:{ItemID}) Count:{Count}");
     }
     return($"[Item None]");
 }
Ejemplo n.º 3
0
 public ItemlistModel(Mst_useitem mst_data, Mem_useitem mem_data, string description)
 {
     _mst_data    = mst_data;
     _mem_data    = mem_data;
     _description = description;
 }
 private void _Init(Mst_useitem mst, int count)
 {
     this._mst   = mst;
     this._count = count;
 }
 public Reward_Useitem(Mst_useitem mst, int count)
 {
     this._Init(mst, count);
 }
 public Reward_Useitem(Mst_useitem mst)
 {
     this._Init(mst, 1);
 }
Ejemplo n.º 7
0
        private void setItems(out Dictionary <enumMaterialCategory, int> up_mat)
        {
            up_mat = null;
            if (resultInfo.MissionResult == MissionResultKinds.FAILE)
            {
                return;
            }
            double success_keisu = (resultInfo.MissionResult != MissionResultKinds.GREAT) ? 1.0 : 1.5;

            up_mat = new Dictionary <enumMaterialCategory, int>();
            Array values = Enum.GetValues(typeof(enumMaterialCategory));

            foreach (object item in values)
            {
                up_mat.Add((enumMaterialCategory)(int)item, 0);
            }
            Dictionary <enumMaterialCategory, int> getMaterials;
            Dictionary <enumMaterialCategory, int> dictionary = getMaterials = resultInfo.GetMaterials;
            enumMaterialCategory key;
            enumMaterialCategory key2 = key = enumMaterialCategory.Fuel;
            int num = getMaterials[key];

            dictionary[key2] = num + mst_mission.Win_mat1;
            Dictionary <enumMaterialCategory, int> getMaterials2;
            Dictionary <enumMaterialCategory, int> dictionary2 = getMaterials2 = resultInfo.GetMaterials;
            enumMaterialCategory key3 = key = enumMaterialCategory.Bull;

            num = getMaterials2[key];
            dictionary2[key3] = num + mst_mission.Win_mat2;
            Dictionary <enumMaterialCategory, int> getMaterials3;
            Dictionary <enumMaterialCategory, int> dictionary3 = getMaterials3 = resultInfo.GetMaterials;
            enumMaterialCategory key4 = key = enumMaterialCategory.Steel;

            num = getMaterials3[key];
            dictionary3[key4] = num + mst_mission.Win_mat3;
            Dictionary <enumMaterialCategory, int> getMaterials4;
            Dictionary <enumMaterialCategory, int> dictionary4 = getMaterials4 = resultInfo.GetMaterials;
            enumMaterialCategory key5 = key = enumMaterialCategory.Bauxite;

            num = getMaterials4[key];
            dictionary4[key5] = num + mst_mission.Win_mat4;
            foreach (enumMaterialCategory item2 in resultInfo.GetMaterials.Keys.ToList())
            {
                int materialBonusNum = getMaterialBonusNum(resultInfo.GetMaterials[item2], success_keisu);
                Dictionary <enumMaterialCategory, int> getMaterials5;
                Dictionary <enumMaterialCategory, int> dictionary5 = getMaterials5 = resultInfo.GetMaterials;
                enumMaterialCategory key6 = key = item2;
                num = getMaterials5[key];
                dictionary5[key6] = num + materialBonusNum;
                up_mat[item2]     = resultInfo.GetMaterials[item2];
            }
            List <int[]> list = new List <int[]>();

            if (resultInfo.MissionResult == MissionResultKinds.SUCCESS)
            {
                resultInfo.GetSpoint += mst_mission.Win_spoint1;
                int num2 = randInstance.Next(mst_mission.Win_item1_num + 1);
                if (num2 == 0)
                {
                    return;
                }
                list.Add(new int[2]
                {
                    mst_mission.Win_item1,
                    num2
                });
            }
            else if (resultInfo.MissionResult == MissionResultKinds.GREAT)
            {
                resultInfo.GetSpoint += mst_mission.Win_spoint2;
                int num3 = randInstance.Next(mst_mission.Win_item1_num + 1);
                if (num3 > 0)
                {
                    list.Add(new int[2]
                    {
                        mst_mission.Win_item1,
                        num3
                    });
                }
                if (mst_mission.Win_item2_num > 0)
                {
                    int num4 = randInstance.Next(mst_mission.Win_item2_num) + 1;
                    list.Add(new int[2]
                    {
                        mst_mission.Win_item2,
                        num4
                    });
                }
            }
            resultInfo.GetItems = new List <ItemGetFmt>();
            foreach (int[] item3 in list)
            {
                Mst_useitem mst_useitem = Mst_DataManager.Instance.Mst_useitem[item3[0]];
                ItemGetFmt  itemGetFmt  = new ItemGetFmt();
                itemGetFmt.Id       = mst_useitem.Id;
                itemGetFmt.Category = ItemGetKinds.UseItem;
                itemGetFmt.Count    = item3[1];
                if (itemGetFmt.Id >= 1 && itemGetFmt.Id <= 4)
                {
                    int materialBonusNum2 = getMaterialBonusNum(itemGetFmt.Count, success_keisu);
                    itemGetFmt.Count += materialBonusNum2;
                    enumMaterialCategory enumMaterialCategory = (itemGetFmt.Id == 1) ? enumMaterialCategory.Repair_Kit : ((itemGetFmt.Id == 2) ? enumMaterialCategory.Build_Kit : ((itemGetFmt.Id != 3) ? enumMaterialCategory.Revamp_Kit : enumMaterialCategory.Dev_Kit));
                    Dictionary <enumMaterialCategory, int> dictionary6;
                    Dictionary <enumMaterialCategory, int> dictionary7 = dictionary6 = up_mat;
                    enumMaterialCategory key7 = key = enumMaterialCategory;
                    num = dictionary6[key];
                    dictionary7[key7] = num + itemGetFmt.Count;
                }
                resultInfo.GetItems.Add(itemGetFmt);
            }
            if (resultInfo.GetItems.Count == 0)
            {
                resultInfo.GetItems = null;
            }
        }
        public Api_Result <User_ItemUseFmt> ItemUse(int useitem_id, bool force_flag, ItemExchangeKinds exchange_type)
        {
            Dictionary <enumMaterialCategory, int>            dictionary  = new Dictionary <enumMaterialCategory, int>();
            Dictionary <ItemGetKinds, Dictionary <int, int> > dictionary2 = new Dictionary <ItemGetKinds, Dictionary <int, int> >();
            Dictionary <int, Dictionary <int, int> >          dictionary3 = new Dictionary <int, Dictionary <int, int> >();

            using (IEnumerator enumerator = Enum.GetValues(typeof(ItemGetKinds)).GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    object current = enumerator.get_Current();
                    dictionary2.Add((ItemGetKinds)((int)current), new Dictionary <int, int>());
                }
            }
            for (int i = 1; i <= 3; i++)
            {
                dictionary3.Add(i, new Dictionary <int, int>());
            }
            Api_Result <User_ItemUseFmt> api_Result = new Api_Result <User_ItemUseFmt>();

            api_Result.data = new User_ItemUseFmt();
            Mst_useitem mst_useitem = null;

            if (!Mst_DataManager.Instance.Mst_useitem.TryGetValue(useitem_id, ref mst_useitem))
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            if (mst_useitem.Usetype != 4)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            Mem_useitem mem_useitem;

            if (!Comm_UserDatas.Instance.User_useItem.TryGetValue(useitem_id, ref mem_useitem))
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            int num = mst_useitem.GetItemExchangeNum(exchange_type);

            if (num == 0)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            if (mem_useitem.Value < num)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            Dictionary <enumMaterialCategory, Mem_material> user_material = Comm_UserDatas.Instance.User_material;
            IEnumerable <XElement> enumerable = this.get_package_item(exchange_type, mst_useitem);

            if (enumerable != null)
            {
                Mst_item_limit mst_item_limit = Mst_DataManager.Instance.Mst_item_limit.get_Item(1);
                var            enumerable2    = Enumerable.Select(Enumerable.Select(enumerable, (XElement item) => new
                {
                    item     = item,
                    category = (enumMaterialCategory)((int)Enum.Parse(typeof(enumMaterialCategory), item.Element("Material_id").get_Value()))
                }), <> __TranspIdent6 => new
                {
                    material_id = < > __TranspIdent6.category,
                    useitem_id  = int.Parse(< > __TranspIdent6.item.Element("Useitem_id").get_Value()),
                    slotitem_id = int.Parse(< > __TranspIdent6.item.Element("Slotitem_id").get_Value()),
                    items       = int.Parse(< > __TranspIdent6.item.Element("Items").get_Value()),
                    max_items   = mst_item_limit.GetMaterialLimit(Mst_DataManager.Instance.Mst_item_limit, <> __TranspIdent6.category)
                });
Ejemplo n.º 9
0
        protected void _Init(bool all_item)
        {
            if (_descriptions == null)
            {
                _descriptions = Mst_DataManager.Instance.GetUseitemText();
            }
            _have_items = new List <ItemlistModel>();
            if (_mst_cabinet == null)
            {
                _mst_cabinet = Mst_DataManager.Instance.GetMstCabinet();
            }
            List <Mst_item_shop> list = _mst_cabinet[3];

            _cabinet_relations = new Dictionary <ItemlistModel, Mst_item_shop>();
            Api_Result <Dictionary <int, Mem_useitem> > api_Result = new Api_get_Member().UseItem();

            if (api_Result.state == Api_Result_State.Success)
            {
                Dictionary <int, Mst_useitem> mst_useitem = Mst_DataManager.Instance.Mst_useitem;
                Dictionary <int, Mem_useitem> dictionary  = (api_Result.data != null) ? api_Result.data : new Dictionary <int, Mem_useitem>();
                if (all_item)
                {
                    foreach (Mst_useitem value7 in mst_useitem.Values)
                    {
                        if (!(value7.Name == string.Empty))
                        {
                            Mem_useitem value = null;
                            dictionary.TryGetValue(value7.Id, out value);
                            _descriptions.TryGetValue(value7.Id, out string value2);
                            ItemlistModel tmp = new ItemlistModel(value7, value, value2);
                            _have_items.Add(tmp);
                            Mst_item_shop value3 = list.Find((Mst_item_shop item) => item.Item1_id == tmp.MstId);
                            _cabinet_relations.Add(tmp, value3);
                        }
                    }
                    _have_items.Sort((ItemlistModel a, ItemlistModel b) => (a.MstId > b.MstId) ? 1 : (-1));
                }
                else
                {
                    foreach (Mst_item_shop item in list)
                    {
                        int         key    = (item.Item1_type == 1) ? item.Item1_id : 0;
                        Mst_useitem value4 = null;
                        mst_useitem.TryGetValue(key, out value4);
                        Mem_useitem value5 = null;
                        dictionary.TryGetValue(key, out value5);
                        string value6 = string.Empty;
                        if (value4 != null)
                        {
                            _descriptions.TryGetValue(value4.Id, out value6);
                        }
                        ItemlistModel itemlistModel = new ItemlistModel(value4, value5, value6);
                        _have_items.Add(itemlistModel);
                        _cabinet_relations.Add(itemlistModel, item);
                    }
                }
                __UpdateCount__();
                return;
            }
            throw new Exception("Logic Error");
        }
        protected void _Init(bool all_item)
        {
            if (this._descriptions == null)
            {
                this._descriptions = Mst_DataManager.Instance.GetUseitemText();
            }
            this._have_items = new List <ItemlistModel>();
            if (this._mst_cabinet == null)
            {
                this._mst_cabinet = Mst_DataManager.Instance.GetMstCabinet();
            }
            List <Mst_item_shop> list = this._mst_cabinet.get_Item(3);

            this._cabinet_relations = new Dictionary <ItemlistModel, Mst_item_shop>();
            Api_Result <Dictionary <int, Mem_useitem> > api_Result = new Api_get_Member().UseItem();

            if (api_Result.state == Api_Result_State.Success)
            {
                Dictionary <int, Mst_useitem> mst_useitem = Mst_DataManager.Instance.Mst_useitem;
                Dictionary <int, Mem_useitem> dictionary  = (api_Result.data != null) ? api_Result.data : new Dictionary <int, Mem_useitem>();
                if (all_item)
                {
                    using (Dictionary <int, Mst_useitem> .ValueCollection.Enumerator enumerator = mst_useitem.get_Values().GetEnumerator())
                    {
                        while (enumerator.MoveNext())
                        {
                            Mst_useitem current = enumerator.get_Current();
                            if (!(current.Name == string.Empty))
                            {
                                Mem_useitem mem_data = null;
                                dictionary.TryGetValue(current.Id, ref mem_data);
                                string description;
                                this._descriptions.TryGetValue(current.Id, ref description);
                                ItemlistModel tmp = new ItemlistModel(current, mem_data, description);
                                this._have_items.Add(tmp);
                                Mst_item_shop mst_item_shop = list.Find((Mst_item_shop item) => item.Item1_id == tmp.MstId);
                                this._cabinet_relations.Add(tmp, mst_item_shop);
                            }
                        }
                    }
                    this._have_items.Sort((ItemlistModel a, ItemlistModel b) => (a.MstId <= b.MstId) ? -1 : 1);
                }
                else
                {
                    using (List <Mst_item_shop> .Enumerator enumerator2 = list.GetEnumerator())
                    {
                        while (enumerator2.MoveNext())
                        {
                            Mst_item_shop current2     = enumerator2.get_Current();
                            int           num          = (current2.Item1_type != 1) ? 0 : current2.Item1_id;
                            Mst_useitem   mst_useitem2 = null;
                            mst_useitem.TryGetValue(num, ref mst_useitem2);
                            Mem_useitem mem_data2 = null;
                            dictionary.TryGetValue(num, ref mem_data2);
                            string empty = string.Empty;
                            if (mst_useitem2 != null)
                            {
                                this._descriptions.TryGetValue(mst_useitem2.Id, ref empty);
                            }
                            ItemlistModel itemlistModel = new ItemlistModel(mst_useitem2, mem_data2, empty);
                            this._have_items.Add(itemlistModel);
                            this._cabinet_relations.Add(itemlistModel, current2);
                        }
                    }
                }
                this.__UpdateCount__();
                return;
            }
            throw new Exception("Logic Error");
        }
Ejemplo n.º 11
0
        private IEnumerable <XElement> get_package_item(ItemExchangeKinds exchange_type, Mst_useitem mst_useitem)
        {
            List <XElement> result = null;

            switch (exchange_type)
            {
            case ItemExchangeKinds.NONE:
            {
                Dictionary <string, string> dictionary = new Dictionary <string, string>();
                dictionary.Add("Package_type", "2");
                dictionary.Add("Package_id", mst_useitem.Id.ToString());
                Dictionary <string, string> where_dict = dictionary;
                return(Utils.Xml_Result_Where("mst_item_package", "mst_item_package", where_dict));
            }

            case ItemExchangeKinds.PLAN:
            {
                List <XElement> list = new List <XElement>();
                list.Add(new XElement("mst_item_package", new XElement("Id", "101"), new XElement("Package_type", "2"), new XElement("Package_id", "57"), new XElement("Material_id", "0"), new XElement("Useitem_id", "58"), new XElement("Slotitem_id", "0"), new XElement("Items", "1")));
                result = list;
                break;
            }

            case ItemExchangeKinds.REMODEL:
            {
                List <XElement> list = new List <XElement>();
                list.Add(new XElement("mst_item_package", new XElement("Id", "102"), new XElement("Package_type", "2"), new XElement("Package_id", "57"), new XElement("Material_id", "8"), new XElement("Useitem_id", "0"), new XElement("Slotitem_id", "0"), new XElement("Items", "4")));
                result = list;
                break;
            }

            case ItemExchangeKinds.PRESENT_MATERIAL:
            {
                List <XElement> list = new List <XElement>();
                list.Add(new XElement("mst_item_package", new XElement("Id", "103"), new XElement("Package_type", "2"), new XElement("Package_id", "60"), new XElement("Material_id", "7"), new XElement("Useitem_id", "0"), new XElement("Slotitem_id", "0"), new XElement("Items", "3")));
                list.Add(new XElement("mst_item_package", new XElement("Id", "104"), new XElement("Package_type", "2"), new XElement("Package_id", "60"), new XElement("Material_id", "8"), new XElement("Useitem_id", "0"), new XElement("Slotitem_id", "0"), new XElement("Items", "1")));
                result = list;
                break;
            }

            case ItemExchangeKinds.PRESENT_IRAKO:
            {
                List <XElement> list = new List <XElement>();
                list.Add(new XElement("mst_item_package", new XElement("Id", "105"), new XElement("Package_type", "2"), new XElement("Package_id", "60"), new XElement("Material_id", "0"), new XElement("Useitem_id", "59"), new XElement("Slotitem_id", "0"), new XElement("Items", "1")));
                result = list;
                break;
            }
            }
            return(result);
        }
Ejemplo n.º 12
0
        public Api_Result <User_ItemUseFmt> ItemUse(int useitem_id, bool force_flag, ItemExchangeKinds exchange_type)
        {
            Dictionary <enumMaterialCategory, int>            dictionary  = new Dictionary <enumMaterialCategory, int>();
            Dictionary <ItemGetKinds, Dictionary <int, int> > dictionary2 = new Dictionary <ItemGetKinds, Dictionary <int, int> >();
            Dictionary <int, Dictionary <int, int> >          dictionary3 = new Dictionary <int, Dictionary <int, int> >();

            foreach (object value6 in Enum.GetValues(typeof(ItemGetKinds)))
            {
                dictionary2.Add((ItemGetKinds)(int)value6, new Dictionary <int, int>());
            }
            for (int i = 1; i <= 3; i++)
            {
                dictionary3.Add(i, new Dictionary <int, int>());
            }
            Api_Result <User_ItemUseFmt> api_Result = new Api_Result <User_ItemUseFmt>();

            api_Result.data = new User_ItemUseFmt();
            Mst_useitem value = null;

            if (!Mst_DataManager.Instance.Mst_useitem.TryGetValue(useitem_id, out value))
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            if (value.Usetype != 4)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            if (!Comm_UserDatas.Instance.User_useItem.TryGetValue(useitem_id, out Mem_useitem value2))
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            int num = value.GetItemExchangeNum(exchange_type);

            if (num == 0)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            if (value2.Value < num)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            Dictionary <enumMaterialCategory, Mem_material> user_material = Comm_UserDatas.Instance.User_material;
            IEnumerable <XElement> enumerable = get_package_item(exchange_type, value);

            if (enumerable != null)
            {
                Mst_item_limit mst_item_limit = Mst_DataManager.Instance.Mst_item_limit[1];
                var            enumerable2    = from item in enumerable
                                                let category = (enumMaterialCategory)(int)Enum.Parse(typeof(enumMaterialCategory), item.Element("Material_id").Value)
                                                               select new
                {
                    material_id = category,
                    useitem_id  = int.Parse(item.Element("Useitem_id").Value),
                    slotitem_id = int.Parse(item.Element("Slotitem_id").Value),
                    items       = int.Parse(item.Element("Items").Value),
                    max_items   = mst_item_limit.GetMaterialLimit(Mst_DataManager.Instance.Mst_item_limit, category)
                };
                foreach (var item in enumerable2)
                {
                    if (item.material_id != 0)
                    {
                        int num2 = LimitGetCount(user_material[item.material_id].Value, item.items, item.max_items);
                        if (!force_flag && num2 != item.items)
                        {
                            api_Result.data.CautionFlag = true;
                            return(api_Result);
                        }
                        dictionary.Add(item.material_id, item.items);
                        dictionary3[1].Add((int)item.material_id, num2);
                    }
                    else if (item.useitem_id != 0)
                    {
                        int now_count = 0;
                        if (Comm_UserDatas.Instance.User_useItem.TryGetValue(item.useitem_id, out Mem_useitem value3))
                        {
                            now_count = value3.Value;
                        }
                        int value4 = LimitGetCount(now_count, item.items, item.max_items);
                        dictionary2[ItemGetKinds.UseItem].Add(item.useitem_id, item.items);
                        dictionary3[2].Add(item.useitem_id, value4);
                    }
                    else if (item.slotitem_id != 0)
                    {
                        dictionary2[ItemGetKinds.SlotItem].Add(item.slotitem_id, item.items);
                        dictionary3[3].Add(item.slotitem_id, item.items);
                    }
                }
                foreach (KeyValuePair <int, Dictionary <int, int> > item2 in dictionary3)
                {
                    int key = item2.Key;
                    foreach (KeyValuePair <int, int> item3 in item2.Value)
                    {
                        int key2   = item3.Key;
                        int value5 = item3.Value;
                        switch (key)
                        {
                        case 1:
                        {
                            enumMaterialCategory key3 = (enumMaterialCategory)key2;
                            user_material[key3].Add_Material(value5);
                            break;
                        }

                        case 2:
                            Comm_UserDatas.Instance.Add_Useitem(key2, value5);
                            break;

                        case 3:
                            Comm_UserDatas.Instance.Add_Slot(new List <int>
                            {
                                key2
                            });
                            break;
                        }
                    }
                }
            }
            else if (value.Id == 10 || value.Id == 11 || value.Id == 12)
            {
                Mem_basic user_basic = Comm_UserDatas.Instance.User_basic;
                int       get_count  = int.Parse(value.Description2) * value2.Value;
                int       max_count  = 200000;
                int       num3       = LimitGetCount(user_basic.Fcoin, get_count, max_count);
                dictionary2[ItemGetKinds.UseItem].Add(44, num3);
                user_basic.AddCoin(num3);
                num = value2.Value;
            }
            else if (value.Id == 53)
            {
                Mem_basic user_basic2 = Comm_UserDatas.Instance.User_basic;
                if (user_basic2.Max_chara >= user_basic2.GetPortMaxExtendNum())
                {
                    api_Result.state = Api_Result_State.Parameter_Error;
                    return(api_Result);
                }
                dictionary2[ItemGetKinds.UseItem].Add(53, 1);
                user_basic2.PortExtend(1);
            }
            value2.Sub_UseItem(num);
            api_Result.data.GetItem  = GetItemFmt(dictionary2);
            api_Result.data.Material = dictionary;
            return(api_Result);
        }
Ejemplo n.º 13
0
        private void setItems(out Dictionary <enumMaterialCategory, int> up_mat)
        {
            up_mat = null;
            if (this.resultInfo.MissionResult == MissionResultKinds.FAILE)
            {
                return;
            }
            double success_keisu = (this.resultInfo.MissionResult != MissionResultKinds.GREAT) ? 1.0 : 1.5;

            up_mat = new Dictionary <enumMaterialCategory, int>();
            Array values = Enum.GetValues(typeof(enumMaterialCategory));

            using (IEnumerator enumerator = values.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    object current = enumerator.get_Current();
                    up_mat.Add((enumMaterialCategory)((int)current), 0);
                }
            }
            Dictionary <enumMaterialCategory, int> getMaterials;
            Dictionary <enumMaterialCategory, int> expr_A5 = getMaterials = this.resultInfo.GetMaterials;
            enumMaterialCategory enumMaterialCategory;
            enumMaterialCategory expr_A9 = enumMaterialCategory = enumMaterialCategory.Fuel;
            int num = getMaterials.get_Item(enumMaterialCategory);

            expr_A5.set_Item(expr_A9, num + this.mst_mission.Win_mat1);
            Dictionary <enumMaterialCategory, int> getMaterials2;
            Dictionary <enumMaterialCategory, int> expr_D5 = getMaterials2 = this.resultInfo.GetMaterials;
            enumMaterialCategory expr_D9 = enumMaterialCategory = enumMaterialCategory.Bull;

            num = getMaterials2.get_Item(enumMaterialCategory);
            expr_D5.set_Item(expr_D9, num + this.mst_mission.Win_mat2);
            Dictionary <enumMaterialCategory, int> getMaterials3;
            Dictionary <enumMaterialCategory, int> expr_105 = getMaterials3 = this.resultInfo.GetMaterials;
            enumMaterialCategory expr_109 = enumMaterialCategory = enumMaterialCategory.Steel;

            num = getMaterials3.get_Item(enumMaterialCategory);
            expr_105.set_Item(expr_109, num + this.mst_mission.Win_mat3);
            Dictionary <enumMaterialCategory, int> getMaterials4;
            Dictionary <enumMaterialCategory, int> expr_135 = getMaterials4 = this.resultInfo.GetMaterials;
            enumMaterialCategory expr_139 = enumMaterialCategory = enumMaterialCategory.Bauxite;

            num = getMaterials4.get_Item(enumMaterialCategory);
            expr_135.set_Item(expr_139, num + this.mst_mission.Win_mat4);
            using (List <enumMaterialCategory> .Enumerator enumerator2 = Enumerable.ToList <enumMaterialCategory>(this.resultInfo.GetMaterials.get_Keys()).GetEnumerator())
            {
                while (enumerator2.MoveNext())
                {
                    enumMaterialCategory current2 = enumerator2.get_Current();
                    int materialBonusNum          = this.getMaterialBonusNum(this.resultInfo.GetMaterials.get_Item(current2), success_keisu);
                    Dictionary <enumMaterialCategory, int> getMaterials5;
                    Dictionary <enumMaterialCategory, int> expr_1AA = getMaterials5 = this.resultInfo.GetMaterials;
                    enumMaterialCategory expr_1AF = enumMaterialCategory = current2;
                    num = getMaterials5.get_Item(enumMaterialCategory);
                    expr_1AA.set_Item(expr_1AF, num + materialBonusNum);
                    up_mat.set_Item(current2, this.resultInfo.GetMaterials.get_Item(current2));
                }
            }
            List <int[]> list = new List <int[]>();

            if (this.resultInfo.MissionResult == MissionResultKinds.SUCCESS)
            {
                this.resultInfo.GetSpoint += this.mst_mission.Win_spoint1;
                int num2 = this.randInstance.Next(this.mst_mission.Win_item1_num + 1);
                if (num2 == 0)
                {
                    return;
                }
                list.Add(new int[]
                {
                    this.mst_mission.Win_item1,
                    num2
                });
            }
            else if (this.resultInfo.MissionResult == MissionResultKinds.GREAT)
            {
                this.resultInfo.GetSpoint += this.mst_mission.Win_spoint2;
                int num3 = this.randInstance.Next(this.mst_mission.Win_item1_num + 1);
                if (num3 > 0)
                {
                    list.Add(new int[]
                    {
                        this.mst_mission.Win_item1,
                        num3
                    });
                }
                if (this.mst_mission.Win_item2_num > 0)
                {
                    int num4 = this.randInstance.Next(this.mst_mission.Win_item2_num) + 1;
                    list.Add(new int[]
                    {
                        this.mst_mission.Win_item2,
                        num4
                    });
                }
            }
            this.resultInfo.GetItems = new List <ItemGetFmt>();
            using (List <int[]> .Enumerator enumerator3 = list.GetEnumerator())
            {
                while (enumerator3.MoveNext())
                {
                    int[]       current3    = enumerator3.get_Current();
                    Mst_useitem mst_useitem = Mst_DataManager.Instance.Mst_useitem.get_Item(current3[0]);
                    ItemGetFmt  itemGetFmt  = new ItemGetFmt();
                    itemGetFmt.Id       = mst_useitem.Id;
                    itemGetFmt.Category = ItemGetKinds.UseItem;
                    itemGetFmt.Count    = current3[1];
                    if (itemGetFmt.Id >= 1 && itemGetFmt.Id <= 4)
                    {
                        int materialBonusNum2 = this.getMaterialBonusNum(itemGetFmt.Count, success_keisu);
                        itemGetFmt.Count += materialBonusNum2;
                        enumMaterialCategory enumMaterialCategory2;
                        if (itemGetFmt.Id == 1)
                        {
                            enumMaterialCategory2 = enumMaterialCategory.Repair_Kit;
                        }
                        else if (itemGetFmt.Id == 2)
                        {
                            enumMaterialCategory2 = enumMaterialCategory.Build_Kit;
                        }
                        else if (itemGetFmt.Id == 3)
                        {
                            enumMaterialCategory2 = enumMaterialCategory.Dev_Kit;
                        }
                        else
                        {
                            enumMaterialCategory2 = enumMaterialCategory.Revamp_Kit;
                        }
                        Dictionary <enumMaterialCategory, int> dictionary;
                        Dictionary <enumMaterialCategory, int> expr_419 = dictionary = up_mat;
                        enumMaterialCategory expr_41E = enumMaterialCategory = enumMaterialCategory2;
                        num = dictionary.get_Item(enumMaterialCategory);
                        expr_419.set_Item(expr_41E, num + itemGetFmt.Count);
                    }
                    this.resultInfo.GetItems.Add(itemGetFmt);
                }
            }
            if (this.resultInfo.GetItems.get_Count() == 0)
            {
                this.resultInfo.GetItems = null;
            }
        }
Ejemplo n.º 14
0
 private void _Init(Mst_useitem mst, int count)
 {
     _mst   = mst;
     _count = count;
 }