public List <QuestItemGetFmt> ClearItemGet(User_QuestFmt fmt) { Mem_quest value = null; if (!Comm_UserDatas.Instance.User_quest.TryGetValue(fmt.No, out value)) { return(null); } if (value.State != QuestState.COMPLETE) { return(null); } value.StateChange(this, QuestState.END); Mst_questcount value2 = null; if (Mst_DataManager.Instance.Mst_questcount.TryGetValue(value.Rid, out value2)) { foreach (KeyValuePair <int, bool> item in value2.Reset_flag) { if (item.Value) { Mem_questcount value3 = null; if (Comm_UserDatas.Instance.User_questcount.TryGetValue(item.Key, out value3)) { value3.Reset(deleteFlag: true); } } } } Mst_quest mst_quest = this.mst_quest[fmt.No]; List <QuestItemGetFmt> list = new List <QuestItemGetFmt>(); foreach (KeyValuePair <enumMaterialCategory, int> item2 in fmt.GetMaterial) { if (item2.Key <= enumMaterialCategory.Bauxite) { list.Add(_ItemGet(item2.Key, item2.Value)); } } int slotModelChangeId = mst_quest.GetSlotModelChangeId(1); int slotModelChangeId2 = mst_quest.GetSlotModelChangeId(2); bool useCrewFlag = false; bool maxExpFlag = false; if (slotModelChangeId > 0) { maxExpFlag = mst_quest.IsLevelMax(mst_slotitemchange[slotModelChangeId]); useCrewFlag = mst_quest.IsUseCrew(mst_slotitemchange[slotModelChangeId]); } list.Add(_ItemGet(mst_quest.Get_1_type, mst_quest.Get_1_id, mst_quest.Get_1_count, maxExpFlag, useCrewFlag)); bool useCrewFlag2 = false; bool maxExpFlag2 = false; if (slotModelChangeId2 > 0) { maxExpFlag2 = mst_quest.IsLevelMax(mst_slotitemchange[slotModelChangeId2]); useCrewFlag2 = mst_quest.IsUseCrew(mst_slotitemchange[slotModelChangeId2]); } list.Add(_ItemGet(mst_quest.Get_2_type, mst_quest.Get_2_id, mst_quest.Get_2_count, maxExpFlag2, useCrewFlag2)); return(list.FindAll((QuestItemGetFmt item) => item != null)); }
public List <QuestItemGetFmt> ClearItemGet(User_QuestFmt fmt) { Mem_quest mem_quest = null; if (!Comm_UserDatas.Instance.User_quest.TryGetValue(fmt.No, ref mem_quest)) { return(null); } if (mem_quest.State != QuestState.COMPLETE) { return(null); } mem_quest.StateChange(this, QuestState.END); Mst_questcount mst_questcount = null; if (Mst_DataManager.Instance.Mst_questcount.TryGetValue(mem_quest.Rid, ref mst_questcount)) { using (Dictionary <int, bool> .Enumerator enumerator = mst_questcount.Reset_flag.GetEnumerator()) { while (enumerator.MoveNext()) { KeyValuePair <int, bool> current = enumerator.get_Current(); if (current.get_Value()) { Mem_questcount mem_questcount = null; if (Comm_UserDatas.Instance.User_questcount.TryGetValue(current.get_Key(), ref mem_questcount)) { mem_questcount.Reset(true); } } } } } Mst_quest mst_quest = this.mst_quest.get_Item(fmt.No); List <QuestItemGetFmt> list = new List <QuestItemGetFmt>(); using (Dictionary <enumMaterialCategory, int> .Enumerator enumerator2 = fmt.GetMaterial.GetEnumerator()) { while (enumerator2.MoveNext()) { KeyValuePair <enumMaterialCategory, int> current2 = enumerator2.get_Current(); if (current2.get_Key() <= enumMaterialCategory.Bauxite) { list.Add(this._ItemGet(current2.get_Key(), current2.get_Value())); } } } int slotModelChangeId = mst_quest.GetSlotModelChangeId(1); int slotModelChangeId2 = mst_quest.GetSlotModelChangeId(2); bool useCrewFlag = false; bool maxExpFlag = false; if (slotModelChangeId > 0) { maxExpFlag = mst_quest.IsLevelMax(this.mst_slotitemchange.get_Item(slotModelChangeId)); useCrewFlag = mst_quest.IsUseCrew(this.mst_slotitemchange.get_Item(slotModelChangeId)); } list.Add(this._ItemGet(mst_quest.Get_1_type, mst_quest.Get_1_id, mst_quest.Get_1_count, maxExpFlag, useCrewFlag)); bool useCrewFlag2 = false; bool maxExpFlag2 = false; if (slotModelChangeId2 > 0) { maxExpFlag2 = mst_quest.IsLevelMax(this.mst_slotitemchange.get_Item(slotModelChangeId2)); useCrewFlag2 = mst_quest.IsUseCrew(this.mst_slotitemchange.get_Item(slotModelChangeId2)); } list.Add(this._ItemGet(mst_quest.Get_2_type, mst_quest.Get_2_id, mst_quest.Get_2_count, maxExpFlag2, useCrewFlag2)); list = list.FindAll((QuestItemGetFmt item) => item != null); return(list); }