public static void ShowTaskAward(CUIFormScript formScript, ResTask task, GameObject awardContainer) { if (((formScript != null) && (awardContainer != null)) && ((task != null) && (task.dwTaskID != 0))) { ResTaskReward dataByKey = GameDataMgr.taskRewardDatabin.GetDataByKey(task.dwRewardID); if (dataByKey != null) { for (int i = 0; i < dataByKey.astRewardInfo.Length; i++) { ResTaskRewardDetail detail = dataByKey.astRewardInfo[i]; Transform transform = awardContainer.transform.FindChild(string.Format("itemCell{0}", i)); if (transform != null) { GameObject gameObject = transform.gameObject; if (gameObject != null) { if ((detail != null) && (detail.iCnt > 0)) { CUseable itemUseable = CUseableManager.CreateUsableByServerType((RES_REWARDS_TYPE)detail.dwRewardType, detail.iCnt, detail.dwRewardID); CUICommonSystem.SetItemCell(formScript, gameObject, itemUseable, true, false); gameObject.transform.FindChild("lblIconCount").GetComponent <Text>().text = string.Format("x{0}", detail.iCnt.ToString()); gameObject.gameObject.CustomSetActive(true); } else { gameObject.CustomSetActive(false); } } } } } } }
public CTask(uint id, ResTask task) { DebugHelper.Assert((id > 0) && (task != null)); this.m_resTask = task; if (this.m_resTask != null) { this.m_baseId = id; this.m_taskState = 0; this.m_taskType = this.m_resTask.dwTaskType; this.m_preTaskId = this.m_resTask.dwPreTaskID; for (int i = 0; i < this.m_resTask.astPrerequisiteArray.Length; i++) { if (this.m_resTask.astPrerequisiteArray[i].astPrerequisiteParam[0].iParam > 0) { this.m_prerequisiteInfo[i].m_value = 0; this.m_prerequisiteInfo[i].m_valueTarget = this.m_resTask.astPrerequisiteArray[i].astPrerequisiteParam[0].iParam; this.m_prerequisiteInfo[i].m_isReach = false; this.m_prerequisiteInfo[i].m_conditionType = this.m_resTask.astPrerequisiteArray[i].dwPrerequisiteType; } } this.m_taskTitle = Utility.UTF8Convert(this.m_resTask.szTaskName); this.m_taskDesc = Utility.UTF8Convert(this.m_resTask.szTaskDesc); this.m_taskIcon = Utility.UTF8Convert(this.m_resTask.szTaskIcon); this.m_rewardId = this.m_resTask.dwRewardID; if (this.m_rewardId != 0) { this.resAward = GameDataMgr.taskRewardDatabin.GetDataByKey(this.m_rewardId); if (this.resAward != null) { } } } }
public bool IsHasCltCalcCompeletedTask() { for (int i = 0; i < this.task_ids.Length; i++) { ResTask resTask = this.task_ids[i]; if (resTask != null && Singleton <CTaskSys> .instance.model.IsInCltCalcCompletedTasks(resTask.dwTaskID)) { return(true); } } return(false); }
public int GetResTaskIDIndex(uint id) { for (int i = 0; i < this.task_ids.Length; i++) { ResTask resTask = this.task_ids[i]; if (resTask != null && resTask.dwTaskID == id) { return(i); } } return(-1); }
public bool IsAllLevelTask() { for (int i = 0; i < this.task_ids.Length; i++) { ResTask resTask = this.task_ids[i]; if (resTask != null && resTask != null && resTask.bTaskSubType != 0) { return(false); } } return(true); }
public static CTask Create_Task(uint taskid) { if (taskid == 0u) { return(null); } ResTask dataByKey = GameDataMgr.taskDatabin.GetDataByKey(taskid); if (dataByKey == null) { return(null); } return(new CTask(taskid, dataByKey)); }
public void ParseLevelRewardData() { Dictionary <long, object> .Enumerator enumerator = GameDataMgr.resPvpLevelRewardDatabin.GetEnumerator(); while (enumerator.MoveNext()) { KeyValuePair <long, object> current = enumerator.get_Current(); ResPvpLevelReward resPvpLevelReward = (ResPvpLevelReward)current.get_Value(); if (resPvpLevelReward != null) { if (this.GetLevelRewardData(resPvpLevelReward.iLevel) == null) { LevelRewardData levelRewardData = new LevelRewardData(); levelRewardData.m_level = resPvpLevelReward.iLevel; levelRewardData.m_resLevelReward = resPvpLevelReward; DebugHelper.Assert(resPvpLevelReward.astLockInfo.Length <= 2, "ParseLevelRewardData 等级奖励配置表配 解锁数量不该超过2个, 翔哥 check out..."); for (int i = 0; i < resPvpLevelReward.astLockInfo.Length; i++) { ResDT_LevelReward_UnlockInfo resDT_LevelReward_UnlockInfo = resPvpLevelReward.astLockInfo[i]; if (resDT_LevelReward_UnlockInfo != null) { levelRewardData.astLockInfo[i] = resDT_LevelReward_UnlockInfo; } } this.m_levelRewardDataMap.Add(levelRewardData); } } } Dictionary <long, object> .Enumerator enumerator2 = GameDataMgr.taskDatabin.GetEnumerator(); while (enumerator2.MoveNext()) { KeyValuePair <long, object> current2 = enumerator2.get_Current(); ResTask resTask = (ResTask)current2.get_Value(); if (resTask != null) { if (resTask.dwOpenType == 2u) { int iParam = resTask.astOpenTaskParam[0].iParam; LevelRewardData levelRewardData2 = this.GetLevelRewardData(iParam); if (levelRewardData2 != null && levelRewardData2.GetResTaskIDIndex(resTask.dwTaskID) == -1) { int fristNullResTaskIndex = levelRewardData2.GetFristNullResTaskIndex(); if (fristNullResTaskIndex != -1) { levelRewardData2.task_ids[fristNullResTaskIndex] = resTask; } } } } } }
public void Load_Share_task() { Dictionary <long, object> .Enumerator enumerator = GameDataMgr.taskDatabin.GetEnumerator(); while (enumerator.MoveNext()) { KeyValuePair <long, object> current = enumerator.Current; ResTask task = (ResTask)current.Value; if (task.astPrerequisiteArray[0].dwPrerequisiteType == 0x13) { this.share_task_id = task.dwTaskID; break; } } }
public int GetValidTaskCount() { int num = 0; for (int i = 0; i < this.task_ids.Length; i++) { ResTask task = this.task_ids[i]; if ((task != null) && (Singleton <CTaskSys> .instance.model.GetTask(task.dwTaskID) != null)) { num++; } } return(num); }
public void ParseLevelRewardData() { Dictionary <long, object> .Enumerator enumerator = GameDataMgr.resPvpLevelRewardDatabin.GetEnumerator(); while (enumerator.MoveNext()) { KeyValuePair <long, object> current = enumerator.Current; ResPvpLevelReward reward = (ResPvpLevelReward)current.Value; if (reward != null) { LevelRewardData item = null; if (this.GetLevelRewardData(reward.iLevel) == null) { item = new LevelRewardData { m_level = reward.iLevel, m_resLevelReward = reward }; DebugHelper.Assert(reward.astLockInfo.Length <= 2, "ParseLevelRewardData 等级奖励配置表配 解锁数量不该超过2个, 翔哥 check out..."); for (int i = 0; i < reward.astLockInfo.Length; i++) { ResDT_LevelReward_UnlockInfo info = reward.astLockInfo[i]; if (info != null) { item.astLockInfo[i] = info; } } this.m_levelRewardDataMap.Add(item); } } } Dictionary <long, object> .Enumerator enumerator2 = GameDataMgr.taskDatabin.GetEnumerator(); while (enumerator2.MoveNext()) { KeyValuePair <long, object> pair2 = enumerator2.Current; ResTask task = (ResTask)pair2.Value; if ((task != null) && (task.dwOpenType == 2)) { int iParam = task.astOpenTaskParam[0].iParam; LevelRewardData levelRewardData = this.GetLevelRewardData(iParam); if ((levelRewardData != null) && (levelRewardData.GetResTaskIDIndex(task.dwTaskID) == -1)) { int fristNullResTaskIndex = levelRewardData.GetFristNullResTaskIndex(); if (fristNullResTaskIndex != -1) { levelRewardData.task_ids[fristNullResTaskIndex] = task; } } } } }
public void Load_Share_task() { Dictionary <long, object> .Enumerator enumerator = GameDataMgr.taskDatabin.GetEnumerator(); while (enumerator.MoveNext()) { KeyValuePair <long, object> current = enumerator.get_Current(); ResTask resTask = (ResTask)current.get_Value(); bool flag = resTask.astPrerequisiteArray[0].dwPrerequisiteType == 19u; if (flag) { this.share_task_id = resTask.dwTaskID; break; } } }
public void ShowTask(ResTask task, CUIFormScript fromScript) { if (task == null || fromScript == null) { return; } this.taskID = task.dwTaskID; if (this.taskTitle != null) { this.taskTitle.text = task.szTaskName; } if (this.taskDesc != null) { this.taskDesc.text = task.szTaskDesc; } this.taskIcon_back.CustomSetActive(true); this.taskIcon_front.CustomSetActive(true); if (task.bTaskIconShowType == 0) { this.taskIcon_front.GetComponent <Image>().enabled = false; this.taskIcon_back.GetComponent <Image>().enabled = true; this.taskIcon_back.GetComponent <Image>().SetSprite(task.szTaskBgIcon, fromScript, true, false, false, false); } else if (task.bTaskIconShowType == 1) { this.taskIcon_back.GetComponent <Image>().enabled = false; this.taskIcon_front.GetComponent <Image>().enabled = true; this.taskIcon_front.GetComponent <Image>().SetSprite(task.szTaskIcon, fromScript, true, false, false, false); } else { this.taskIcon_back.GetComponent <Image>().enabled = true; this.taskIcon_front.GetComponent <Image>().enabled = true; this.taskIcon_back.GetComponent <Image>().SetSprite(task.szTaskBgIcon, fromScript, true, false, false, false); this.taskIcon_front.GetComponent <Image>().SetSprite(task.szTaskIcon, fromScript, true, false, false, false); } this.progressObj.CustomSetActive(false); this.progress.gameObject.CustomSetActive(false); this.award_obj.CustomSetActive(false); this.goto_obj.CustomSetActive(false); this.has_finish.CustomSetActive(true); CTaskView.CTaskUT.ShowTaskAward(fromScript, task, this.m_awardContainer); }
public int GetValidTaskCount() { int num = 0; for (int i = 0; i < this.task_ids.Length; i++) { ResTask resTask = this.task_ids[i]; if (resTask != null) { CTask task = Singleton <CTaskSys> .get_instance().model.GetTask(resTask.dwTaskID); if (task != null) { num++; } } } return(num); }
public int GetHaveDoneTaskCount() { int num = 0; for (int i = 0; i < this.task_ids.Length; i++) { ResTask resTask = this.task_ids[i]; if (resTask != null) { CTask task = Singleton <CTaskSys> .instance.model.GetTask(resTask.dwTaskID); if (task != null && task.m_taskSubType != 0 && task.m_taskState == 1) { num++; } } } return(num); }
public void OnLinkPveClick(CUIEvent uiEvent) { uint taskId = uiEvent.m_eventParams.taskId; uiEvent.m_eventID = enUIEventID.Adv_OpenChapterForm; ResTask dataByKey = GameDataMgr.taskDatabin.GetDataByKey(taskId); int num = 0; for (int i = 0; i < dataByKey.astPrerequisiteArray.Length; i++) { if (dataByKey.astPrerequisiteArray[i].dwPrerequisiteType == 2u) { num = dataByKey.astPrerequisiteArray[i].astPrerequisiteParam[1].iParam; break; } } if (num == 0) { Singleton <CAdventureSys> .get_instance().currentChapter = 1; Singleton <CAdventureSys> .get_instance().currentLevelSeq = 1; Singleton <CAdventureSys> .get_instance().currentDifficulty = 1; Singleton <CUIEventManager> .GetInstance().DispatchUIEvent(uiEvent); } else { ResLevelCfgInfo dataByKey2 = GameDataMgr.levelDatabin.GetDataByKey((long)num); DebugHelper.Assert(dataByKey2 != null); if (dataByKey2 != null) { Singleton <CAdventureSys> .get_instance().currentChapter = dataByKey2.iChapterId; Singleton <CAdventureSys> .get_instance().currentLevelSeq = (int)dataByKey2.bLevelNo; Singleton <CAdventureSys> .get_instance().currentDifficulty = uiEvent.m_eventParams.tag; Singleton <CUIEventManager> .GetInstance().DispatchUIEvent(uiEvent); } } }
public static void ShowTaskAward(CUIFormScript formScript, ResTask task, GameObject awardContainer) { if (formScript == null || awardContainer == null || task == null || task.dwTaskID == 0u) { return; } ResTaskReward dataByKey = GameDataMgr.taskRewardDatabin.GetDataByKey(task.dwRewardID); if (dataByKey == null) { return; } for (int i = 0; i < dataByKey.astRewardInfo.Length; i++) { ResTaskRewardDetail resTaskRewardDetail = dataByKey.astRewardInfo[i]; Transform transform = awardContainer.transform.FindChild(string.Format("itemCell{0}", i)); if (!(transform == null)) { GameObject gameObject = transform.gameObject; if (!(gameObject == null)) { if (resTaskRewardDetail != null && resTaskRewardDetail.iCnt > 0) { RES_REWARDS_TYPE dwRewardType = (RES_REWARDS_TYPE)resTaskRewardDetail.dwRewardType; CUseable itemUseable = CUseableManager.CreateUsableByServerType(dwRewardType, resTaskRewardDetail.iCnt, resTaskRewardDetail.dwRewardID); CUICommonSystem.SetItemCell(formScript, gameObject, itemUseable, true, false, false, false); gameObject.transform.FindChild("lblIconCount").GetComponent <Text>().set_text(string.Format("x{0}", resTaskRewardDetail.iCnt.ToString())); gameObject.gameObject.CustomSetActive(true); } else { gameObject.CustomSetActive(false); } } } } }
public void ParseCltCalcCompletedTasks(ref uint[] taskids) { this.maxCfgTudiTaskID = 0u; this.maxCfgMasterTaskID = 0u; this.maxTaskIds = new uint[taskids.Length]; for (int i = 0; i < taskids.Length; i++) { this.maxTaskIds[i] = taskids[i]; } Dictionary <int, List <uint> > .Enumerator enumerator = this.m_cltCalcCompletedTasks.GetEnumerator(); while (enumerator.MoveNext()) { KeyValuePair <int, List <uint> > current = enumerator.get_Current(); List <uint> value = current.get_Value(); if (value != null) { value.Clear(); } } this.m_cltCalcCompletedTasks.Clear(); Dictionary <byte, uint> dictionary = new Dictionary <byte, uint>(); for (int j = 0; j < taskids.Length; j++) { uint num = taskids[j]; if (num != 0u) { ResTask dataByKey = GameDataMgr.taskDatabin.GetDataByKey(num); DebugHelper.Assert(dataByKey != null, "ParseCltCalcCompletedTasks, taskDatabin.GetDataByKey({0}) is null", new object[] { num }); if (dataByKey != null) { if (dictionary.ContainsKey(dataByKey.bTaskSubType)) { if (num < dictionary.get_Item(dataByKey.bTaskSubType)) { dictionary.set_Item(dataByKey.bTaskSubType, num); } } else { dictionary.Add(dataByKey.bTaskSubType, num); } } } } Dictionary <long, object> .Enumerator enumerator2 = GameDataMgr.taskDatabin.GetEnumerator(); while (enumerator2.MoveNext()) { KeyValuePair <long, object> current2 = enumerator2.get_Current(); ResTask resTask = (ResTask)current2.get_Value(); if (resTask != null) { if (resTask.dwTaskType == 0u) { if (dictionary.ContainsKey(resTask.bTaskSubType) && resTask.dwTaskID < dictionary.get_Item(resTask.bTaskSubType)) { this.InsertCltCalcCompletedTasks(resTask.dwTaskID, (int)resTask.bTaskSubType); } if (resTask.bTaskSubType == 3 && resTask.dwTaskID > this.maxCfgMasterTaskID) { this.maxCfgMasterTaskID = resTask.dwTaskID; } if (resTask.bTaskSubType == 4 && resTask.dwTaskID > this.maxCfgTudiTaskID) { this.maxCfgTudiTaskID = resTask.dwTaskID; } } } } Dictionary <byte, uint> .Enumerator enumerator3 = dictionary.GetEnumerator(); while (enumerator3.MoveNext()) { KeyValuePair <byte, uint> current3 = enumerator3.get_Current(); if (this.GetTask(current3.get_Value()) == null) { DatabinTable <ResTask, uint> arg_25E_0 = GameDataMgr.taskDatabin; KeyValuePair <byte, uint> current4 = enumerator3.get_Current(); ResTask dataByKey2 = arg_25E_0.GetDataByKey(current4.get_Value()); this.InsertCltCalcCompletedTasks(dataByKey2.dwTaskID, (int)dataByKey2.bTaskSubType); } } }
private void ShowLevelTask(LevelRewardData levelRewardData) { if (levelRewardData != null) { bool flag = levelRewardData.IsConfigTaskAllEmpty(); bool flag2 = levelRewardData.GetValidTaskCount() > 0; bool flag3 = levelRewardData.IsAllLevelTask(); if ((flag || !flag2) || flag3) { this.m_emptyTaskNode.CustomSetActive(true); this.m_normalTaskNode.CustomSetActive(false); Text component = this.m_CUIForm.transform.Find("node/list_node_main/task_node/noTask/Text").GetComponent <Text>(); if (component != null) { string text = string.Empty; if (flag) { text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_None"); } if (!flag2) { text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_NoGetTask"); } if (flag3) { if (levelRewardData.m_level >= LevelValue) { text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_Up21"); } else { text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_AllLevelTask"); } } component.text = text; } } else { this.m_emptyTaskNode.CustomSetActive(false); this.m_normalTaskNode.CustomSetActive(true); Text text2 = this.m_CUIForm.transform.Find("node/list_node_main/task_node/normal/Text").GetComponent <Text>(); if (text2 != null) { string[] args = new string[] { levelRewardData.m_level.ToString() }; text2.text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_Normal", args); } int num = 0; for (int i = 0; i < levelRewardData.task_ids.Length; i++) { ResTask task = levelRewardData.task_ids[i]; if (task != null) { CTask task2 = Singleton <CTaskSys> .instance.model.GetTask(task.dwTaskID); bool flag4 = (task2 != null) && (task2.m_resTask.bTaskSubType == 0); bool flag5 = task2 != null; bool flag6 = false; if (!flag5 && (task != null)) { flag6 = Singleton <CTaskSys> .instance.model.IsInCltCalcCompletedTasks(task.dwTaskID); flag4 = task.bTaskSubType == 0; } GameObject obj2 = null; switch (num) { case 0: obj2 = this.m_taskNode0; break; case 1: obj2 = this.m_taskNode1; break; } if (((obj2 != null) && (flag5 || flag6)) && !flag4) { CTaskShower shower = obj2.GetComponent <CTaskShower>(); if (shower == null) { return; } if (flag5) { obj2.CustomSetActive(true); shower.ShowTask(task2, this.m_CUIForm); } else if (flag6) { obj2.CustomSetActive(true); ResTask task3 = levelRewardData.task_ids[i]; if (task3 != null) { shower.ShowTask(task3, this.m_CUIForm); } } num++; } } } for (int j = num; j < LevelRewardData.TASK_MAX_COUNT; j++) { GameObject obj3 = null; switch (j) { case 0: obj3 = this.m_taskNode0; break; case 1: obj3 = this.m_taskNode1; break; } if (obj3 != null) { obj3.CustomSetActive(false); } } } } }
private void ShowLevelTask(LevelRewardData levelRewardData) { if (levelRewardData == null) { return; } bool flag = levelRewardData.IsConfigTaskAllEmpty(); bool flag2 = levelRewardData.GetValidTaskCount() > 0; bool flag3 = levelRewardData.IsAllLevelTask(); if (flag || (!flag2 && !levelRewardData.IsHasCltCalcCompeletedTask()) || flag3) { this.m_emptyTaskNode.CustomSetActive(true); this.m_normalTaskNode.CustomSetActive(false); Text component = this.m_CUIForm.transform.Find("node/list_node_main/task_node/noTask/Text").GetComponent <Text>(); if (component != null) { string text = string.Empty; if (flag) { text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_None"); } if (!flag2 && !levelRewardData.IsHasCltCalcCompeletedTask()) { text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_NoGetTask"); } if (flag3) { if (levelRewardData.m_level >= CTaskView.LevelValue) { text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_Up21"); } else { text = Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_AllLevelTask"); } } component.set_text(text); } } else { this.m_emptyTaskNode.CustomSetActive(false); this.m_normalTaskNode.CustomSetActive(true); Text component2 = this.m_CUIForm.transform.Find("node/list_node_main/task_node/normal/Text").GetComponent <Text>(); if (component2 != null) { component2.set_text(Singleton <CTextManager> .instance.GetText("Task_LevelRewardInfo_Normal", new string[] { levelRewardData.m_level.ToString() })); } int num = 0; for (int i = 0; i < levelRewardData.task_ids.Length; i++) { ResTask resTask = levelRewardData.task_ids[i]; if (resTask != null) { CTask task = Singleton <CTaskSys> .instance.model.GetTask(resTask.dwTaskID); bool flag4 = task != null && task.m_resTask.bTaskSubType == 0; bool flag5 = task != null; bool flag6 = false; if (!flag5 && resTask != null) { flag6 = Singleton <CTaskSys> .instance.model.IsInCltCalcCompletedTasks(resTask.dwTaskID); flag4 = (resTask.bTaskSubType == 0); } GameObject gameObject = null; if (num == 0) { gameObject = this.m_taskNode0; } else if (num == 1) { gameObject = this.m_taskNode1; } if (gameObject != null && (flag5 || flag6) && !flag4) { CTaskShower component3 = gameObject.GetComponent <CTaskShower>(); if (component3 == null) { return; } if (flag5) { gameObject.CustomSetActive(true); component3.ShowTask(task, this.m_CUIForm); } else if (flag6) { gameObject.CustomSetActive(true); ResTask resTask2 = levelRewardData.task_ids[i]; if (resTask2 != null) { component3.ShowTask(resTask2, this.m_CUIForm); } } num++; } } } for (int j = num; j < LevelRewardData.TASK_MAX_COUNT; j++) { GameObject gameObject2 = null; if (j == 0) { gameObject2 = this.m_taskNode0; } else if (j == 1) { gameObject2 = this.m_taskNode1; } if (gameObject2 != null) { gameObject2.CustomSetActive(false); } } } }
public void ParseCltCalcCompletedTasks(ref uint[] taskids) { Dictionary <int, List <uint> > .Enumerator enumerator = this.m_cltCalcCompletedTasks.GetEnumerator(); while (enumerator.MoveNext()) { KeyValuePair <int, List <uint> > current = enumerator.Current; List <uint> list = current.Value; if (list != null) { list.Clear(); } } this.m_cltCalcCompletedTasks.Clear(); Dictionary <byte, uint> dictionary = new Dictionary <byte, uint>(); for (int i = 0; i < taskids.Length; i++) { uint key = taskids[i]; if (key != 0) { ResTask dataByKey = GameDataMgr.taskDatabin.GetDataByKey(key); object[] inParameters = new object[] { key }; DebugHelper.Assert(dataByKey != null, "ParseCltCalcCompletedTasks, taskDatabin.GetDataByKey({0}) is null", inParameters); if (dataByKey != null) { if (dictionary.ContainsKey(dataByKey.bTaskSubType)) { if (key < dictionary[dataByKey.bTaskSubType]) { dictionary[dataByKey.bTaskSubType] = key; } } else { dictionary.Add(dataByKey.bTaskSubType, key); } } } } Dictionary <long, object> .Enumerator enumerator2 = GameDataMgr.taskDatabin.GetEnumerator(); while (enumerator2.MoveNext()) { KeyValuePair <long, object> pair2 = enumerator2.Current; ResTask task2 = (ResTask)pair2.Value; if (((task2 != null) && (task2.dwTaskType == 0)) && (dictionary.ContainsKey(task2.bTaskSubType) && (task2.dwTaskID < dictionary[task2.bTaskSubType]))) { this.InsertCltCalcCompletedTasks(task2.dwTaskID, task2.bTaskSubType); } } Dictionary <byte, uint> .Enumerator enumerator3 = dictionary.GetEnumerator(); while (enumerator3.MoveNext()) { KeyValuePair <byte, uint> pair3 = enumerator3.Current; if (this.GetTask(pair3.Value) == null) { KeyValuePair <byte, uint> pair4 = enumerator3.Current; ResTask task4 = GameDataMgr.taskDatabin.GetDataByKey(pair4.Value); this.InsertCltCalcCompletedTasks(task4.dwTaskID, task4.bTaskSubType); } } }