private List <IReward> _CreateRewardModels(int used_useitem_mst_id, User_ItemUseFmt fmt, out bool has_use_item_reward) { has_use_item_reward = false; List <IReward> list = new List <IReward>(); if (fmt.Material != null && fmt.Material.get_Count() > 0) { List <IReward_Material> list2 = new List <IReward_Material>(); Reward_Materials reward_Materials = new Reward_Materials(list2); list.Add(reward_Materials); this._AddMaterialReward(list2, enumMaterialCategory.Fuel, fmt.Material); this._AddMaterialReward(list2, enumMaterialCategory.Bull, fmt.Material); this._AddMaterialReward(list2, enumMaterialCategory.Steel, fmt.Material); this._AddMaterialReward(list2, enumMaterialCategory.Bauxite, fmt.Material); this._AddMaterialReward(list2, enumMaterialCategory.Build_Kit, fmt.Material); this._AddMaterialReward(list2, enumMaterialCategory.Repair_Kit, fmt.Material); this._AddMaterialReward(list2, enumMaterialCategory.Dev_Kit, fmt.Material); this._AddMaterialReward(list2, enumMaterialCategory.Revamp_Kit, fmt.Material); } if (fmt.GetItem != null && fmt.GetItem.get_Count() > 0) { using (List <ItemGetFmt> .Enumerator enumerator = fmt.GetItem.GetEnumerator()) { while (enumerator.MoveNext()) { ItemGetFmt current = enumerator.get_Current(); has_use_item_reward = true; Reward_Useitem reward_Useitem = new Reward_Useitem(current.Id, current.Count); if (reward_Useitem.Id == 53 && used_useitem_mst_id == 53) { Reward_PortExtend reward_PortExtend = new Reward_PortExtend(); list.Add(reward_PortExtend); } else if (reward_Useitem.Id == 63 && used_useitem_mst_id == 63) { Reward_DutyExtend reward_DutyExtend = new Reward_DutyExtend(base.UserInfo.MaxDutyExecuteCount); list.Add(reward_DutyExtend); } else { list.Add(reward_Useitem); } } } } return(list); }
private List <IReward> _CreateRewardModels(int used_useitem_mst_id, User_ItemUseFmt fmt, out bool has_use_item_reward) { has_use_item_reward = false; List <IReward> list = new List <IReward>(); if (fmt.Material != null && fmt.Material.Count > 0) { List <IReward_Material> list2 = new List <IReward_Material>(); Reward_Materials item = new Reward_Materials(list2); list.Add(item); _AddMaterialReward(list2, enumMaterialCategory.Fuel, fmt.Material); _AddMaterialReward(list2, enumMaterialCategory.Bull, fmt.Material); _AddMaterialReward(list2, enumMaterialCategory.Steel, fmt.Material); _AddMaterialReward(list2, enumMaterialCategory.Bauxite, fmt.Material); _AddMaterialReward(list2, enumMaterialCategory.Build_Kit, fmt.Material); _AddMaterialReward(list2, enumMaterialCategory.Repair_Kit, fmt.Material); _AddMaterialReward(list2, enumMaterialCategory.Dev_Kit, fmt.Material); _AddMaterialReward(list2, enumMaterialCategory.Revamp_Kit, fmt.Material); } if (fmt.GetItem != null && fmt.GetItem.Count > 0) { foreach (ItemGetFmt item4 in fmt.GetItem) { has_use_item_reward = true; Reward_Useitem reward_Useitem = new Reward_Useitem(item4.Id, item4.Count); if (reward_Useitem.Id == 53 && used_useitem_mst_id == 53) { Reward_PortExtend item2 = new Reward_PortExtend(); list.Add(item2); } else if (reward_Useitem.Id == 63 && used_useitem_mst_id == 63) { Reward_DutyExtend item3 = new Reward_DutyExtend(base.UserInfo.MaxDutyExecuteCount); list.Add(item3); } else { list.Add(reward_Useitem); } } return(list); } return(list); }
public List <IReward> RecieveRewards(int duty_no) { DutyModel duty = this.GetDuty(duty_no); if (duty.State != QuestState.COMPLETE) { return(null); } List <QuestItemGetFmt> list = this._quest.ClearItemGet(((__DutyModel__)duty).Fmt); if (list == null) { return(null); } List <IReward> list2 = new List <IReward>(); List <IReward_Material> list3 = null; Reward_Useitems reward_Useitems = null; for (int i = 0; i < list.get_Count(); i++) { if (list.get_Item(i).Category == QuestItemGetKind.Material && list.get_Item(i).Count > 0) { if (list3 == null) { list3 = new List <IReward_Material>(); Reward_Materials reward_Materials = new Reward_Materials(list3); list2.Add(reward_Materials); } list3.Add(new Reward_Material((enumMaterialCategory)list.get_Item(i).Id, list.get_Item(i).Count)); } else if (list.get_Item(i).Category == QuestItemGetKind.Deck) { list2.Add(new Reward_Deck(list.get_Item(i).Id)); base.UserInfo.__UpdateDeck__(new Api_get_Member()); } else if (list.get_Item(i).Category == QuestItemGetKind.FurnitureBox) { if (reward_Useitems == null) { reward_Useitems = new Reward_Useitems(); list2.Add(reward_Useitems); } reward_Useitems.__Add__(list.get_Item(i).Id, list.get_Item(i).Count); } else if (list.get_Item(i).Category == QuestItemGetKind.LargeBuild) { list2.Add(new Reward_LargeBuild()); } else if (list.get_Item(i).Category == QuestItemGetKind.Ship) { for (int j = 0; j < list.get_Item(i).Count; j++) { list2.Add(new Reward_Ship(list.get_Item(i).Id)); } base.UserInfo.__UpdateShips__(new Api_get_Member()); } else if (list.get_Item(i).Category == QuestItemGetKind.SlotItem) { for (int k = 0; k < list.get_Item(i).Count; k++) { list2.Add(new Reward_Slotitem(list.get_Item(i).Id)); } } else if (list.get_Item(i).Category == QuestItemGetKind.UseItem) { list2.Add(new Reward_Useitem(list.get_Item(i).Id, list.get_Item(i).Count)); } else if (list.get_Item(i).Category == QuestItemGetKind.Furniture) { list2.Add(new Reward_Furniture(list.get_Item(i).Id)); } else if (list.get_Item(i).Category == QuestItemGetKind.Exchange) { list2.Add(new Reward_Exchange_Slotitem(list.get_Item(i).FromId, list.get_Item(i).Id, list.get_Item(i).IsUseCrewItem)); List <SlotitemModel> slotitemList = base.UserInfo.GetDeck(1).GetFlagShip().SlotitemList; for (int l = 0; l < slotitemList.get_Count(); l++) { if (slotitemList.get_Item(l) != null) { slotitemList.get_Item(l).__update__(); } } } else if (list.get_Item(i).Category == QuestItemGetKind.Spoint) { list2.Add(new Reward_SPoint(list.get_Item(i).Count)); } else if (list.get_Item(i).Category == QuestItemGetKind.DeckPractice) { list2.Add(new Reward_DeckPracitce(list.get_Item(i).Id)); } else if (list.get_Item(i).Category == QuestItemGetKind.Tanker) { list2.Add(new Reward_TransportCraft(list.get_Item(i).Count)); base._UpdateTankerManager(); } } List <IReward> list4 = list2.FindAll((IReward reward) => reward is Reward_Furniture); if (list4.get_Count() > 0) { Api_Result <Dictionary <FurnitureKinds, List <Mst_furniture> > > api_Result = new Api_get_Member().FurnitureList(); if (api_Result.state == Api_Result_State.Success) { for (int m = 0; m < list4.get_Count(); m++) { Reward_Furniture reward_Furniture = (Reward_Furniture)list4.get_Item(m); reward_Furniture.__Init__(api_Result.data); } } } this._UpdateDutyData(); return(list2); }