public void UpdateWorldQuests() { AdventureMapWorldQuest[] componentsInChildren = this.m_missionAndWordQuestArea.GetComponentsInChildren <AdventureMapWorldQuest>(true); AdventureMapWorldQuest[] array = componentsInChildren; for (int i = 0; i < array.Length; i++) { AdventureMapWorldQuest adventureMapWorldQuest = array[i]; Object.DestroyImmediate(adventureMapWorldQuest.get_gameObject()); } IEnumerator enumerator = WorldQuestData.worldQuestDictionary.get_Values().GetEnumerator(); try { while (enumerator.MoveNext()) { MobileWorldQuest mobileWorldQuest = (MobileWorldQuest)enumerator.get_Current(); if (!this.IsFilterEnabled(MapFilterType.All)) { bool matchesFilter = false; if (this.IsFilterEnabled(MapFilterType.ArtifactPower)) { MobileWorldQuestReward[] item = mobileWorldQuest.Item; for (int j = 0; j < item.Length; j++) { MobileWorldQuestReward mobileWorldQuestReward = item[j]; StaticDB.itemEffectDB.EnumRecordsByParentID(mobileWorldQuestReward.RecordID, delegate(ItemEffectRec itemEffectRec) { StaticDB.spellEffectDB.EnumRecordsByParentID(itemEffectRec.SpellID, delegate(SpellEffectRec spellEffectRec) { if (spellEffectRec.Effect == 240) { matchesFilter = true; return(false); } return(true); }); return(!matchesFilter); }); } } if (this.IsFilterEnabled(MapFilterType.OrderResources)) { MobileWorldQuestReward[] currency = mobileWorldQuest.Currency; for (int k = 0; k < currency.Length; k++) { MobileWorldQuestReward mobileWorldQuestReward2 = currency[k]; if (mobileWorldQuestReward2.RecordID == 1220) { matchesFilter = true; break; } } } if (this.IsFilterEnabled(MapFilterType.Gold) && mobileWorldQuest.Money > 0) { matchesFilter = true; } if (this.IsFilterEnabled(MapFilterType.Gear)) { MobileWorldQuestReward[] item2 = mobileWorldQuest.Item; for (int l = 0; l < item2.Length; l++) { MobileWorldQuestReward mobileWorldQuestReward3 = item2[l]; ItemRec record = StaticDB.itemDB.GetRecord(mobileWorldQuestReward3.RecordID); if (record != null && (record.ClassID == 2 || record.ClassID == 3 || record.ClassID == 4 || record.ClassID == 6)) { matchesFilter = true; break; } } } if (this.IsFilterEnabled(MapFilterType.ProfessionMats)) { MobileWorldQuestReward[] item3 = mobileWorldQuest.Item; for (int m = 0; m < item3.Length; m++) { MobileWorldQuestReward mobileWorldQuestReward4 = item3[m]; ItemRec record2 = StaticDB.itemDB.GetRecord(mobileWorldQuestReward4.RecordID); if (record2 != null && record2.ClassID == 7) { matchesFilter = true; break; } } } if (this.IsFilterEnabled(MapFilterType.PetCharms)) { MobileWorldQuestReward[] item4 = mobileWorldQuest.Item; for (int n = 0; n < item4.Length; n++) { MobileWorldQuestReward mobileWorldQuestReward5 = item4[n]; if (mobileWorldQuestReward5.RecordID == 116415) { matchesFilter = true; break; } } } if (this.IsFilterEnabled(MapFilterType.Bounty_HighmountainTribes) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID)) { MobileBountiesByWorldQuest mobileBountiesByWorldQuest = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary.get_Item(mobileWorldQuest.QuestID); for (int num = 0; num < mobileBountiesByWorldQuest.BountyQuestID.Length; num++) { if (mobileBountiesByWorldQuest.BountyQuestID[num] == 42233) { matchesFilter = true; break; } } } if (this.IsFilterEnabled(MapFilterType.Bounty_CourtOfFarondis) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID)) { MobileBountiesByWorldQuest mobileBountiesByWorldQuest2 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary.get_Item(mobileWorldQuest.QuestID); for (int num2 = 0; num2 < mobileBountiesByWorldQuest2.BountyQuestID.Length; num2++) { if (mobileBountiesByWorldQuest2.BountyQuestID[num2] == 42420) { matchesFilter = true; break; } } } if (this.IsFilterEnabled(MapFilterType.Bounty_Dreamweavers) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID)) { MobileBountiesByWorldQuest mobileBountiesByWorldQuest3 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary.get_Item(mobileWorldQuest.QuestID); for (int num3 = 0; num3 < mobileBountiesByWorldQuest3.BountyQuestID.Length; num3++) { if (mobileBountiesByWorldQuest3.BountyQuestID[num3] == 42170) { matchesFilter = true; break; } } } if (this.IsFilterEnabled(MapFilterType.Bounty_Wardens) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID)) { MobileBountiesByWorldQuest mobileBountiesByWorldQuest4 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary.get_Item(mobileWorldQuest.QuestID); for (int num4 = 0; num4 < mobileBountiesByWorldQuest4.BountyQuestID.Length; num4++) { if (mobileBountiesByWorldQuest4.BountyQuestID[num4] == 42422) { matchesFilter = true; break; } } } if (this.IsFilterEnabled(MapFilterType.Bounty_Nightfallen) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID)) { MobileBountiesByWorldQuest mobileBountiesByWorldQuest5 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary.get_Item(mobileWorldQuest.QuestID); for (int num5 = 0; num5 < mobileBountiesByWorldQuest5.BountyQuestID.Length; num5++) { if (mobileBountiesByWorldQuest5.BountyQuestID[num5] == 42421) { matchesFilter = true; break; } } } if (this.IsFilterEnabled(MapFilterType.Bounty_Valarjar) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID)) { MobileBountiesByWorldQuest mobileBountiesByWorldQuest6 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary.get_Item(mobileWorldQuest.QuestID); for (int num6 = 0; num6 < mobileBountiesByWorldQuest6.BountyQuestID.Length; num6++) { if (mobileBountiesByWorldQuest6.BountyQuestID[num6] == 42234) { matchesFilter = true; break; } } } if (this.IsFilterEnabled(MapFilterType.Bounty_KirinTor) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID)) { MobileBountiesByWorldQuest mobileBountiesByWorldQuest7 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary.get_Item(mobileWorldQuest.QuestID); for (int num7 = 0; num7 < mobileBountiesByWorldQuest7.BountyQuestID.Length; num7++) { if (mobileBountiesByWorldQuest7.BountyQuestID[num7] == 43179) { matchesFilter = true; break; } } } if (!matchesFilter) { continue; } } GameObject gameObject = Object.Instantiate <GameObject>(AdventureMapPanel.instance.m_AdvMapWorldQuestPrefab); gameObject.get_transform().SetParent(this.m_missionAndWordQuestArea.get_transform(), false); float num8 = 0.10271506f; float num9 = (float)mobileWorldQuest.StartLocationY * -num8; float num10 = (float)mobileWorldQuest.StartLocationX * num8; float num11 = 1036.88037f; float num12 = 597.2115f; num9 += num11; num10 += num12; float width = this.m_worldMapLowDetail.get_sprite().get_textureRect().get_width(); float height = this.m_worldMapLowDetail.get_sprite().get_textureRect().get_height(); Vector2 vector = new Vector3(num9 / width, num10 / height); RectTransform component = gameObject.GetComponent <RectTransform>(); component.set_anchorMin(vector); component.set_anchorMax(vector); component.set_anchoredPosition(Vector2.get_zero()); AdventureMapWorldQuest component2 = gameObject.GetComponent <AdventureMapWorldQuest>(); component2.SetQuestID(mobileWorldQuest.QuestID); StackableMapIcon component3 = gameObject.GetComponent <StackableMapIcon>(); if (component3 != null) { component3.RegisterWithManager(); } } } finally { IDisposable disposable = enumerator as IDisposable; if (disposable != null) { disposable.Dispose(); } } }