public static void InitMissionRewards(GameObject prefab, Transform parent, JamGarrisonMissionReward[] rewards) { for (int i = 0; i < rewards.Length; i++) { JamGarrisonMissionReward jamGarrisonMissionReward = rewards[i]; GameObject gameObject = Object.Instantiate <GameObject>(prefab); gameObject.SetActive(true); gameObject.get_transform().SetParent(parent, false); MissionRewardDisplay component = gameObject.GetComponent <MissionRewardDisplay>(); if (jamGarrisonMissionReward.ItemID > 0) { component.InitReward(MissionRewardDisplay.RewardType.item, jamGarrisonMissionReward.ItemID, (int)jamGarrisonMissionReward.ItemQuantity, 0, jamGarrisonMissionReward.ItemFileDataID); } else if (jamGarrisonMissionReward.FollowerXP > 0u) { component.InitReward(MissionRewardDisplay.RewardType.followerXP, 0, (int)jamGarrisonMissionReward.FollowerXP, 0, 0); } else if (jamGarrisonMissionReward.CurrencyQuantity > 0u) { if (jamGarrisonMissionReward.CurrencyType == 0) { component.InitReward(MissionRewardDisplay.RewardType.gold, 0, (int)(jamGarrisonMissionReward.CurrencyQuantity / 10000u), 0, 0); } else { CurrencyTypesRec record = StaticDB.currencyTypesDB.GetRecord(jamGarrisonMissionReward.CurrencyType); int rewardQuantity = (int)((ulong)jamGarrisonMissionReward.CurrencyQuantity / (ulong)(((record.Flags & 8u) == 0u) ? 1L : 100L)); component.InitReward(MissionRewardDisplay.RewardType.currency, jamGarrisonMissionReward.CurrencyType, rewardQuantity, 0, 0); } } } }
public void SetCurrency(int currencyID, int quantity, Sprite iconSprite) { CurrencyTypesRec record = StaticDB.currencyTypesDB.GetRecord(currencyID); CurrencyContainerRec currencyContainerRec = CurrencyContainerDB.CheckAndGetValidCurrencyContainer(currencyID, quantity); if (currencyContainerRec != null) { this.m_rewardName.text = GeneralHelpers.GetItemQualityColorTag((int)currencyContainerRec.ContainerQuality) + currencyContainerRec.ContainerName + "</color>"; this.m_rewardDescription.text = GeneralHelpers.QuantityRule(currencyContainerRec.ContainerDescription, quantity); this.m_rewardQuantity.text = string.Empty; this.m_rewardIcon.sprite = iconSprite; if (this.m_rewardIconBorder != null) { Color color; ColorUtility.TryParseHtmlString("#" + GeneralHelpers.GetItemQualityColor((int)currencyContainerRec.ContainerQuality), ref color); this.m_rewardIconBorder.gameObject.SetActive(true); this.m_rewardIconBorder.color = color; } } else { if (record != null) { this.m_rewardName.text = record.Name; this.m_rewardDescription.text = record.Description; } this.m_rewardQuantity.text = ((quantity <= 1) ? string.Empty : (string.Empty + quantity)); this.m_rewardIcon.sprite = iconSprite; } }
private void InitRewardInfoDisplay(WrapperWorldQuest worldQuest) { int num = 0; this.m_rewardInfo[0].gameObject.SetActive(true); this.m_rewardInfo[1].gameObject.SetActive(false); this.m_rewardInfo[2].gameObject.SetActive(false); if (worldQuest.Items != null && worldQuest.Items.Count <WrapperWorldQuestReward>() > 0) { foreach (WrapperWorldQuestReward wrapperWorldQuestReward in worldQuest.Items) { Sprite rewardSprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, wrapperWorldQuestReward.FileDataID); this.m_rewardInfo[num].SetReward(MissionRewardDisplay.RewardType.item, wrapperWorldQuestReward.RecordID, wrapperWorldQuestReward.Quantity, rewardSprite, wrapperWorldQuestReward.ItemContext); this.EnableAdditionalRewardDisplays(num++); if (num >= 3) { break; } } } else if (worldQuest.Currencies.Count <WrapperWorldQuestReward>() > 0) { foreach (WrapperWorldQuestReward wrapperWorldQuestReward2 in worldQuest.Currencies) { Sprite iconSprite = GeneralHelpers.LoadCurrencyIcon(wrapperWorldQuestReward2.RecordID); CurrencyTypesRec record = StaticDB.currencyTypesDB.GetRecord(wrapperWorldQuestReward2.RecordID); int quantity = wrapperWorldQuestReward2.Quantity / (((record.Flags & 8u) == 0u) ? 1 : 100); this.m_rewardInfo[num].SetCurrency(wrapperWorldQuestReward2.RecordID, quantity, iconSprite); this.EnableAdditionalRewardDisplays(num++); if (num >= 3) { break; } } } else if (worldQuest.Money > 0) { Sprite iconSprite2 = Resources.Load <Sprite>("MiscIcons/INV_Misc_Coin_01"); this.m_rewardInfo[num].SetGold(worldQuest.Money / 10000, iconSprite2); this.EnableAdditionalRewardDisplays(num++); if (num >= 3) { return; } } else if (worldQuest.Experience > 0) { Sprite localizedFollowerXpIcon = GeneralHelpers.GetLocalizedFollowerXpIcon(); this.m_rewardInfo[num].SetFollowerXP(worldQuest.Experience, localizedFollowerXpIcon); this.EnableAdditionalRewardDisplays(num++); if (num >= 3) { return; } } }
public static void InitWorldQuestRewards(MobileWorldQuest worldQuest, GameObject prefab, Transform parent) { if (worldQuest.Item != null) { MobileWorldQuestReward[] item = worldQuest.Item; for (int i = 0; i < item.Length; i++) { MobileWorldQuestReward mobileWorldQuestReward = item[i]; GameObject gameObject = Object.Instantiate <GameObject>(prefab); gameObject.get_transform().SetParent(parent, false); MissionRewardDisplay component = gameObject.GetComponent <MissionRewardDisplay>(); component.InitReward(MissionRewardDisplay.RewardType.item, mobileWorldQuestReward.RecordID, mobileWorldQuestReward.Quantity, mobileWorldQuestReward.ItemContext, mobileWorldQuestReward.FileDataID); } } if (worldQuest.Money > 0) { GameObject gameObject2 = Object.Instantiate <GameObject>(prefab); gameObject2.get_transform().SetParent(parent, false); MissionRewardDisplay component2 = gameObject2.GetComponent <MissionRewardDisplay>(); component2.InitReward(MissionRewardDisplay.RewardType.gold, 0, worldQuest.Money / 10000, 0, 0); } if (worldQuest.Experience > 0) { GameObject gameObject3 = Object.Instantiate <GameObject>(prefab); gameObject3.get_transform().SetParent(parent, false); MissionRewardDisplay component3 = gameObject3.GetComponent <MissionRewardDisplay>(); component3.InitReward(MissionRewardDisplay.RewardType.followerXP, 0, worldQuest.Experience, 0, 0); } MobileWorldQuestReward[] currency = worldQuest.Currency; for (int j = 0; j < currency.Length; j++) { MobileWorldQuestReward mobileWorldQuestReward2 = currency[j]; GameObject gameObject4 = Object.Instantiate <GameObject>(prefab); gameObject4.get_transform().SetParent(parent, false); MissionRewardDisplay component4 = gameObject4.GetComponent <MissionRewardDisplay>(); CurrencyTypesRec record = StaticDB.currencyTypesDB.GetRecord(mobileWorldQuestReward2.RecordID); if (record != null) { int rewardQuantity = mobileWorldQuestReward2.Quantity / (((record.Flags & 8u) == 0u) ? 1 : 100); component4.InitReward(MissionRewardDisplay.RewardType.currency, mobileWorldQuestReward2.RecordID, rewardQuantity, 0, 0); } else { Debug.LogWarning(string.Concat(new object[] { "WORLD QUEST ", worldQuest.QuestID, " has bogus currency reward (id ", mobileWorldQuestReward2.RecordID, ")" })); } } }
public void SetCurrency(int currencyID, int quantity, Sprite iconSprite) { CurrencyTypesRec record = StaticDB.currencyTypesDB.GetRecord(currencyID); if (record != null) { this.m_rewardName.text = record.Name; this.m_rewardDescription.text = record.Description; } this.m_rewardQuantity.text = ((quantity <= 1) ? string.Empty : (string.Empty + quantity)); this.m_rewardIcon.sprite = iconSprite; }
public static void InitWorldQuestRewards(WrapperWorldQuest worldQuest, GameObject prefab, Transform parent) { if (worldQuest.Items != null) { foreach (WrapperWorldQuestReward wrapperWorldQuestReward in worldQuest.Items) { GameObject gameObject = Object.Instantiate <GameObject>(prefab); gameObject.transform.SetParent(parent, false); MissionRewardDisplay component = gameObject.GetComponent <MissionRewardDisplay>(); component.InitReward(MissionRewardDisplay.RewardType.item, wrapperWorldQuestReward.RecordID, wrapperWorldQuestReward.Quantity, wrapperWorldQuestReward.ItemContext, wrapperWorldQuestReward.FileDataID); } } if (worldQuest.Money > 0) { GameObject gameObject2 = Object.Instantiate <GameObject>(prefab); gameObject2.transform.SetParent(parent, false); MissionRewardDisplay component2 = gameObject2.GetComponent <MissionRewardDisplay>(); component2.InitReward(MissionRewardDisplay.RewardType.gold, 0, worldQuest.Money / 10000, 0, 0); } if (worldQuest.Experience > 0) { GameObject gameObject3 = Object.Instantiate <GameObject>(prefab); gameObject3.transform.SetParent(parent, false); MissionRewardDisplay component3 = gameObject3.GetComponent <MissionRewardDisplay>(); component3.InitReward(MissionRewardDisplay.RewardType.followerXP, 0, worldQuest.Experience, 0, 0); } foreach (WrapperWorldQuestReward wrapperWorldQuestReward2 in worldQuest.Currencies) { GameObject gameObject4 = Object.Instantiate <GameObject>(prefab); gameObject4.transform.SetParent(parent, false); MissionRewardDisplay component4 = gameObject4.GetComponent <MissionRewardDisplay>(); CurrencyTypesRec record = StaticDB.currencyTypesDB.GetRecord(wrapperWorldQuestReward2.RecordID); if (record != null) { int rewardQuantity = wrapperWorldQuestReward2.Quantity / (((record.Flags & 8u) == 0u) ? 1 : 100); component4.InitReward(MissionRewardDisplay.RewardType.currency, wrapperWorldQuestReward2.RecordID, rewardQuantity, 0, 0); } else { Debug.LogWarning(string.Concat(new object[] { "WORLD QUEST ", worldQuest.QuestID, " has bogus currency reward (id ", wrapperWorldQuestReward2.RecordID, ")" })); } } }
public static void InitWorldQuestRewards(WrapperWorldQuest worldQuest, GameObject prefab, Transform parent) { if (worldQuest.Items != null) { foreach (WrapperWorldQuestReward item in worldQuest.Items) { GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(prefab); gameObject.transform.SetParent(parent, false); MissionRewardDisplay component = gameObject.GetComponent <MissionRewardDisplay>(); component.InitReward(MissionRewardDisplay.RewardType.item, item.RecordID, item.Quantity, item.ItemContext, item.FileDataID); } } if (worldQuest.Money > 0) { GameObject gameObject1 = UnityEngine.Object.Instantiate <GameObject>(prefab); gameObject1.transform.SetParent(parent, false); MissionRewardDisplay missionRewardDisplay = gameObject1.GetComponent <MissionRewardDisplay>(); missionRewardDisplay.InitReward(MissionRewardDisplay.RewardType.gold, 0, worldQuest.Money / 10000, 0, 0); } if (worldQuest.Experience > 0) { GameObject gameObject2 = UnityEngine.Object.Instantiate <GameObject>(prefab); gameObject2.transform.SetParent(parent, false); MissionRewardDisplay component1 = gameObject2.GetComponent <MissionRewardDisplay>(); component1.InitReward(MissionRewardDisplay.RewardType.followerXP, 0, worldQuest.Experience, 0, 0); } foreach (WrapperWorldQuestReward currency in worldQuest.Currencies) { GameObject gameObject3 = UnityEngine.Object.Instantiate <GameObject>(prefab); gameObject3.transform.SetParent(parent, false); MissionRewardDisplay missionRewardDisplay1 = gameObject3.GetComponent <MissionRewardDisplay>(); CurrencyTypesRec record = StaticDB.currencyTypesDB.GetRecord(currency.RecordID); if (record == null) { Debug.LogWarning(string.Concat(new object[] { "WORLD QUEST ", worldQuest.QuestID, " has bogus currency reward (id ", currency.RecordID, ")" })); } else { int quantity = currency.Quantity / ((record.Flags & 8) == 0 ? 1 : 100); missionRewardDisplay1.InitReward(MissionRewardDisplay.RewardType.currency, currency.RecordID, quantity, 0, 0); } } }
public static void InitMissionRewards(GameObject prefab, Transform parent, IEnumerable <WrapperGarrisonMissionReward> rewards) { foreach (WrapperGarrisonMissionReward reward in rewards) { GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(prefab); gameObject.SetActive(true); gameObject.transform.SetParent(parent, false); MissionRewardDisplay component = gameObject.GetComponent <MissionRewardDisplay>(); if (reward.ItemID > 0) { component.InitReward(MissionRewardDisplay.RewardType.item, reward.ItemID, (int)reward.ItemQuantity, 0, reward.ItemFileDataID); } else if (reward.FollowerXP <= 0) { if (reward.CurrencyQuantity <= 0) { continue; } if (reward.CurrencyType != 0) { CurrencyTypesRec record = StaticDB.currencyTypesDB.GetRecord(reward.CurrencyType); if (record == null) { Debug.LogError(string.Concat("Unknown CurrencyType ID ", reward.CurrencyType)); } else { int currencyQuantity = (int)((ulong)reward.CurrencyQuantity / (long)(((record.Flags & 8) == 0 ? 1 : 100))); component.InitReward(MissionRewardDisplay.RewardType.currency, reward.CurrencyType, currencyQuantity, 0, 0); } } else { component.InitReward(MissionRewardDisplay.RewardType.gold, 0, (int)(reward.CurrencyQuantity / 10000), 0, 0); } } else { component.InitReward(MissionRewardDisplay.RewardType.followerXP, 0, (int)reward.FollowerXP, 0, 0); } } }
public static void InitMissionRewards(GameObject prefab, Transform parent, IEnumerable <WrapperGarrisonMissionReward> rewards) { foreach (WrapperGarrisonMissionReward wrapperGarrisonMissionReward in rewards) { GameObject gameObject = Object.Instantiate <GameObject>(prefab); gameObject.SetActive(true); gameObject.transform.SetParent(parent, false); MissionRewardDisplay component = gameObject.GetComponent <MissionRewardDisplay>(); if (wrapperGarrisonMissionReward.ItemID > 0) { component.InitReward(MissionRewardDisplay.RewardType.item, wrapperGarrisonMissionReward.ItemID, (int)wrapperGarrisonMissionReward.ItemQuantity, 0, wrapperGarrisonMissionReward.ItemFileDataID); } else if (wrapperGarrisonMissionReward.FollowerXP > 0u) { component.InitReward(MissionRewardDisplay.RewardType.followerXP, 0, (int)wrapperGarrisonMissionReward.FollowerXP, 0, 0); } else if (wrapperGarrisonMissionReward.CurrencyQuantity > 0u) { if (wrapperGarrisonMissionReward.CurrencyType == 0) { component.InitReward(MissionRewardDisplay.RewardType.gold, 0, (int)(wrapperGarrisonMissionReward.CurrencyQuantity / 10000u), 0, 0); } else { CurrencyTypesRec record = StaticDB.currencyTypesDB.GetRecord(wrapperGarrisonMissionReward.CurrencyType); if (record != null) { int rewardQuantity = (int)((ulong)wrapperGarrisonMissionReward.CurrencyQuantity / (ulong)(((record.Flags & 8u) == 0u) ? 1L : 100L)); component.InitReward(MissionRewardDisplay.RewardType.currency, wrapperGarrisonMissionReward.CurrencyType, rewardQuantity, 0, 0); } else { Debug.LogError("Unknown CurrencyType ID " + wrapperGarrisonMissionReward.CurrencyType); } } } } }
public void SetCurrency(int currencyID, int quantity, Sprite iconSprite) { CurrencyTypesRec record = StaticDB.currencyTypesDB.GetRecord(currencyID); CurrencyContainerRec currencyContainerRec = CurrencyContainerDB.CheckAndGetValidCurrencyContainer(currencyID, quantity); if (currencyContainerRec == null) { if (record != null) { this.m_rewardName.text = record.Name; this.m_rewardDescription.text = record.Description; } this.m_rewardQuantity.text = (quantity <= 1 ? string.Empty : string.Concat(string.Empty, quantity)); this.m_rewardIcon.sprite = iconSprite; } else { this.m_rewardName.text = string.Concat(GeneralHelpers.GetItemQualityColorTag(currencyContainerRec.ContainerQuality), currencyContainerRec.ContainerName, "</color>"); this.m_rewardDescription.text = GeneralHelpers.QuantityRule(currencyContainerRec.ContainerDescription, quantity); this.m_rewardQuantity.text = string.Empty; this.m_rewardIcon.sprite = iconSprite; } }
private void InitRewardInfoDisplay(MobileWorldQuest worldQuest) { if (worldQuest.Item != null && Enumerable.Count <MobileWorldQuestReward>(worldQuest.Item) > 0) { MobileWorldQuestReward[] item = worldQuest.Item; int num = 0; if (num < item.Length) { MobileWorldQuestReward mobileWorldQuestReward = item[num]; Sprite rewardSprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, mobileWorldQuestReward.FileDataID); this.m_rewardInfo.SetReward(MissionRewardDisplay.RewardType.item, mobileWorldQuestReward.RecordID, mobileWorldQuestReward.Quantity, rewardSprite, mobileWorldQuestReward.ItemContext); } } else if (worldQuest.Money > 0) { Sprite iconSprite = Resources.Load <Sprite>("MiscIcons/INV_Misc_Coin_01"); this.m_rewardInfo.SetGold(worldQuest.Money / 10000, iconSprite); } else if (worldQuest.Experience > 0) { Sprite localizedFollowerXpIcon = GeneralHelpers.GetLocalizedFollowerXpIcon(); this.m_rewardInfo.SetFollowerXP(worldQuest.Experience, localizedFollowerXpIcon); } else { MobileWorldQuestReward[] currency = worldQuest.Currency; int num2 = 0; if (num2 < currency.Length) { MobileWorldQuestReward mobileWorldQuestReward2 = currency[num2]; Sprite iconSprite2 = GeneralHelpers.LoadCurrencyIcon(mobileWorldQuestReward2.RecordID); CurrencyTypesRec record = StaticDB.currencyTypesDB.GetRecord(mobileWorldQuestReward2.RecordID); int quantity = mobileWorldQuestReward2.Quantity / (((record.Flags & 8u) == 0u) ? 1 : 100); this.m_rewardInfo.SetCurrency(mobileWorldQuestReward2.RecordID, quantity, iconSprite2); } } }
public void UpdateWorldQuests() { foreach (MapInfo mapInfo in MapInfo.GetAllMapInfos()) { AdventureMapPanel.ClearWorldQuestArea(mapInfo.GetWorldQuestArea()); } foreach (WrapperWorldQuest worldQuest in WorldQuestData.WorldQuestDictionary.Values) { if (worldQuest.StartLocationMapID != 1220 && worldQuest.StartLocationMapID != 1669) { if (!this.IsFilterEnabled(MapFilterType.All)) { bool flag = false; if (!flag && this.IsFilterEnabled(MapFilterType.Azerite)) { flag |= worldQuest.Currencies.Any((WrapperWorldQuestReward reward) => reward.RecordID == 1553); } if (!flag && this.IsFilterEnabled(MapFilterType.OrderResources)) { flag |= worldQuest.Currencies.Any((WrapperWorldQuestReward reward) => reward.RecordID == 1560); } if (!flag && this.IsFilterEnabled(MapFilterType.Gold) && worldQuest.Money > 0) { flag = true; } if (!flag && this.IsFilterEnabled(MapFilterType.Gear)) { flag |= worldQuest.Items.Any(delegate(WrapperWorldQuestReward reward) { ItemRec record = StaticDB.itemDB.GetRecord(reward.RecordID); return(record != null && (record.ClassID == 2 || record.ClassID == 3 || record.ClassID == 4 || record.ClassID == 6)); }); } if (!flag && this.IsFilterEnabled(MapFilterType.ProfessionMats)) { flag |= worldQuest.Items.Any(delegate(WrapperWorldQuestReward reward) { ItemRec record = StaticDB.itemDB.GetRecord(reward.RecordID); return(record != null && record.ClassID == 7); }); } if (!flag && this.IsFilterEnabled(MapFilterType.PetBattles)) { flag |= (worldQuest.QuestInfoID == 115); } if (!flag && this.IsFilterEnabled(MapFilterType.Reputation)) { flag |= worldQuest.Currencies.Any(delegate(WrapperWorldQuestReward reward) { CurrencyTypesRec record = StaticDB.currencyTypesDB.GetRecord(reward.RecordID); return(record != null && record.FactionID != 0u); }); } if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_ChampionsOfAzeroth)) { bool flag2 = flag; bool flag3; if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID)) { flag3 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 50562); } else { flag3 = false; } flag = (flag2 || flag3); } if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_ZandalariEmpire)) { bool flag4 = flag; bool flag5; if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID)) { flag5 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 50598); } else { flag5 = false; } flag = (flag4 || flag5); } if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_ProudmooreAdmiralty)) { bool flag6 = flag; bool flag7; if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID)) { flag7 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 50599); } else { flag7 = false; } flag = (flag6 || flag7); } if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_OrderOfEmbers)) { bool flag8 = flag; bool flag9; if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID)) { flag9 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 50600); } else { flag9 = false; } flag = (flag8 || flag9); } if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_StormsWake)) { bool flag10 = flag; bool flag11; if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID)) { flag11 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 50601); } else { flag11 = false; } flag = (flag10 || flag11); } if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_TalanjisExpedition)) { bool flag12 = flag; bool flag13; if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID)) { flag13 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 50602); } else { flag13 = false; } flag = (flag12 || flag13); } if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_Voldunai)) { bool flag14 = flag; bool flag15; if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID)) { flag15 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 50603); } else { flag15 = false; } flag = (flag14 || flag15); } if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_TortollanSeekers)) { bool flag16 = flag; bool flag17; if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID)) { flag17 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 50604); } else { flag17 = false; } flag = (flag16 || flag17); } if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_AllianceWarEffort)) { bool flag18 = flag; bool flag19; if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID)) { flag19 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 50605); } else { flag19 = false; } flag = (flag18 || flag19); } if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_HordeWarEffort)) { bool flag20 = flag; bool flag21; if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID)) { flag21 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 50606); } else { flag21 = false; } flag = (flag20 || flag21); } if (!flag) { continue; } } Dictionary <int, float> mapScaleTweaks = null; Dictionary <int, Vector2> mapOffsetTweaks = null; if (worldQuest.StartLocationMapID == 1642) { mapScaleTweaks = new Dictionary <int, float> { { 863, -0.02f } }; mapOffsetTweaks = new Dictionary <int, Vector2> { { 864, new Vector2(60f, -20f) } }; } GameObject gameObject = this.SetupWorldQuestObject(worldQuest, mapScaleTweaks, mapOffsetTweaks); if (gameObject != null) { AdventureMapWorldQuest component = gameObject.GetComponent <AdventureMapWorldQuest>(); component.SetQuestID(worldQuest.QuestID); StackableMapIcon component2 = gameObject.GetComponent <StackableMapIcon>(); if (component2 != null) { component2.RegisterWithManager(worldQuest.StartLocationMapID); } } } } this.m_pinchZoomContentManager.ForceZoomFactorChanged(); }
public void ShowMissionResults(int garrMissionID, int missionResultType, bool awardOvermax) { int num; GarrMissionRec record = StaticDB.garrMissionDB.GetRecord(garrMissionID); if (record == null) { return; } this.RegisterMainScriptObjEvents(); this.m_missionResultsDisplayCanvasGroupAutoFadeOut.Reset(); this.m_currentResultType = (MissionResultType)missionResultType; this.m_followerExperienceDisplayArea.SetActive(false); this.m_attemptedAutoComplete = false; this.m_garrMissionID = garrMissionID; this.m_darknessBG.SetActive(true); this.m_popupView.SetActive(true); this.m_bonusLootDisplay.SetActive(false); if (this.missionFollowerSlotGroup != null) { MissionFollowerSlot[] componentsInChildren = this.missionFollowerSlotGroup.GetComponentsInChildren <MissionFollowerSlot>(true); for (int i = 0; i < (int)componentsInChildren.Length; i++) { if (componentsInChildren[i] != null && componentsInChildren[i] != this.missionFollowerSlotGroup.transform) { componentsInChildren[i].gameObject.transform.SetParent(null); UnityEngine.Object.Destroy(componentsInChildren[i].gameObject); } } } MissionEncounter[] missionEncounterArray = this.enemyPortraitsGroup.GetComponentsInChildren <MissionEncounter>(true); for (int j = 0; j < (int)missionEncounterArray.Length; j++) { if (missionEncounterArray[j] != null && missionEncounterArray[j] != this.enemyPortraitsGroup.transform) { missionEncounterArray[j].gameObject.transform.SetParent(null); UnityEngine.Object.Destroy(missionEncounterArray[j].gameObject); } } if (this.treasureChestHorde != null && this.treasureChestAlliance != null) { if (GarrisonStatus.Faction() != PVP_FACTION.HORDE) { this.treasureChestHorde.SetActive(false); this.treasureChestAlliance.SetActive(true); } else { this.treasureChestHorde.SetActive(true); this.treasureChestAlliance.SetActive(false); } } WrapperGarrisonMission item = PersistentMissionData.missionDictionary[garrMissionID]; this.m_missionStartedTime = item.StartTime; this.m_missionDurationInSeconds = item.MissionDuration; for (int k = 0; k < item.Encounters.Count; k++) { GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(this.missionEncounterPrefab); gameObject.transform.SetParent(this.enemyPortraitsGroup.transform, false); MissionEncounter component = gameObject.GetComponent <MissionEncounter>(); num = (item.Encounters[k].MechanicIDs.Count <= 0 ? 0 : item.Encounters[k].MechanicIDs[0]); component.SetEncounter(item.Encounters[k].EncounterID, num); } this.missionNameText.text = record.Name; this.missionLocationText.text = record.Location; GarrMissionTypeRec garrMissionTypeRec = StaticDB.garrMissionTypeDB.GetRecord((int)record.GarrMissionTypeID); this.missionTypeImage.overrideSprite = TextureAtlas.instance.GetAtlasSprite((int)garrMissionTypeRec.UiTextureAtlasMemberID); if (this.missionFollowerSlotGroup != null) { for (int l = 0; (long)l < (ulong)record.MaxFollowers; l++) { GameObject gameObject1 = UnityEngine.Object.Instantiate <GameObject>(this.missionFollowerSlotPrefab); gameObject1.transform.SetParent(this.missionFollowerSlotGroup.transform, false); gameObject1.GetComponent <MissionFollowerSlot>().m_enemyPortraitsGroup = this.enemyPortraitsGroup; } } if (record.UiTextureKitID <= 0) { Debug.LogWarning(string.Concat(new object[] { "DATA ERROR: Mission UITextureKit Not Set for mission ID:", record.ID, " - ", record.Name })); Debug.LogWarning("This means the scrolling background images will show the wrong location"); } else { UiTextureKitRec uiTextureKitRec = StaticDB.uiTextureKitDB.GetRecord((int)record.UiTextureKitID); this.m_scrollingEnvironment_Back.enabled = false; this.m_scrollingEnvironment_Mid.enabled = false; this.m_scrollingEnvironment_Fore.enabled = false; int uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID(string.Concat("_", uiTextureKitRec.KitPrefix, "-Back")); if (uITextureAtlasMemberID > 0) { Sprite atlasSprite = TextureAtlas.instance.GetAtlasSprite(uITextureAtlasMemberID); if (atlasSprite == null) { uint uiTextureKitID = record.UiTextureKitID; Debug.Log(string.Concat("Missing expected Back sprite from UiTextureKitID: [", uiTextureKitID.ToString(), "]")); } else { this.m_scrollingEnvironment_Back.enabled = true; this.m_scrollingEnvironment_Back.sprite = atlasSprite; } } int uITextureAtlasMemberID1 = TextureAtlas.GetUITextureAtlasMemberID(string.Concat("_", uiTextureKitRec.KitPrefix, "-Mid")); if (uITextureAtlasMemberID1 > 0) { Sprite sprite = TextureAtlas.instance.GetAtlasSprite(uITextureAtlasMemberID1); if (sprite == null) { uint uiTextureKitID1 = record.UiTextureKitID; Debug.Log(string.Concat("Missing expected Mid sprite from UiTextureKitID: [", uiTextureKitID1.ToString(), "]")); } else { this.m_scrollingEnvironment_Mid.enabled = true; this.m_scrollingEnvironment_Mid.sprite = sprite; } } int num1 = TextureAtlas.GetUITextureAtlasMemberID(string.Concat("_", uiTextureKitRec.KitPrefix, "-Fore")); if (num1 > 0) { Sprite atlasSprite1 = TextureAtlas.instance.GetAtlasSprite(num1); if (atlasSprite1 == null) { uint uiTextureKitID2 = record.UiTextureKitID; Debug.Log(string.Concat("Missing expected Fore sprite from UiTextureKitID: [", uiTextureKitID2.ToString(), "]")); } else { this.m_scrollingEnvironment_Fore.enabled = true; this.m_scrollingEnvironment_Fore.sprite = atlasSprite1; } } } if (this.m_lootGroupObj == null || this.m_missionRewardDisplayPrefab == null) { return; } MissionRewardDisplay[] missionRewardDisplayArray = this.m_lootGroupObj.GetComponentsInChildren <MissionRewardDisplay>(true); for (int m = 0; m < (int)missionRewardDisplayArray.Length; m++) { if (missionRewardDisplayArray[m] != null) { UnityEngine.Object.Destroy(missionRewardDisplayArray[m].gameObject); } } if (missionResultType == 1) { PersistentFollowerData.ClearPreMissionFollowerData(); } List <WrapperGarrisonFollower> wrapperGarrisonFollowers = new List <WrapperGarrisonFollower>(); MissionFollowerSlot[] missionFollowerSlotArray = this.missionFollowerSlotGroup.GetComponentsInChildren <MissionFollowerSlot>(true); int num2 = 0; foreach (WrapperGarrisonFollower value in PersistentFollowerData.followerDictionary.Values) { if (value.CurrentMissionID != garrMissionID) { continue; } int num3 = num2; num2 = num3 + 1; missionFollowerSlotArray[num3].SetFollower(value.GarrFollowerID); if (missionResultType == 1) { PersistentFollowerData.CachePreMissionFollower(value); } wrapperGarrisonFollowers.Add(value); } this.UpdateMissionStatus(garrMissionID); MissionFollowerSlot[] missionFollowerSlotArray1 = missionFollowerSlotArray; for (int n = 0; n < (int)missionFollowerSlotArray1.Length; n++) { missionFollowerSlotArray1[n].InitHeartPanel(); } MissionRewardDisplay.InitMissionRewards(this.m_missionRewardDisplayPrefab.gameObject, this.m_lootGroupObj.transform, item.Rewards); if (record.OvermaxRewardPackID > 0 && item.OvermaxRewards.Count > 0) { this.m_bonusLootDisplay.SetActive(true); WrapperGarrisonMissionReward wrapperGarrisonMissionReward = item.OvermaxRewards[0]; if (wrapperGarrisonMissionReward.ItemID > 0) { this.m_bonusMissionRewardDisplay.InitReward(MissionRewardDisplay.RewardType.item, wrapperGarrisonMissionReward.ItemID, (int)wrapperGarrisonMissionReward.ItemQuantity, 0, wrapperGarrisonMissionReward.ItemFileDataID); } else if (wrapperGarrisonMissionReward.FollowerXP > 0) { this.m_bonusMissionRewardDisplay.InitReward(MissionRewardDisplay.RewardType.followerXP, 0, (int)wrapperGarrisonMissionReward.FollowerXP, 0, 0); } else if (wrapperGarrisonMissionReward.CurrencyQuantity > 0) { if (wrapperGarrisonMissionReward.CurrencyType != 0) { CurrencyTypesRec currencyTypesRec = StaticDB.currencyTypesDB.GetRecord(wrapperGarrisonMissionReward.CurrencyType); int currencyQuantity = (int)((ulong)wrapperGarrisonMissionReward.CurrencyQuantity / (long)(((currencyTypesRec.Flags & 8) == 0 ? 1 : 100))); this.m_bonusMissionRewardDisplay.InitReward(MissionRewardDisplay.RewardType.currency, wrapperGarrisonMissionReward.CurrencyType, currencyQuantity, 0, 0); } else { this.m_bonusMissionRewardDisplay.InitReward(MissionRewardDisplay.RewardType.gold, 0, (int)(wrapperGarrisonMissionReward.CurrencyQuantity / 10000), 0, 0); } } } this.m_timeUntilFadeOutMissionDetailsDisplay = this.m_missionDetailsFadeOutDelay; this.m_timeUntilShowFollowerExperienceDisplays = this.m_experienceDisplayInitialEntranceDelay; if (missionResultType == 2) { this.InitFollowerExperienceDisplays(); this.m_missionInProgressMessage.SetActive(false); this.m_missionSuccessMessage.SetActive(true); this.m_missionFailMessage.SetActive(false); if (this.m_fancyEntrance != null) { UnityEngine.Object.Destroy(this.m_fancyEntrance); iTween.Stop(this.m_missionSuccessMessage); this.m_missionSuccessMessage.transform.localScale = Vector3.one; iTween.Stop(this.m_missionFailMessage); this.m_missionFailMessage.transform.localScale = Vector3.one; } this.m_missionSuccessMessage.SetActive(false); this.m_fancyEntrance = this.m_missionSuccessMessage.AddComponent <FancyEntrance>(); this.m_fancyEntrance.m_fadeInCanvasGroup = this.m_missionSuccessMessage.GetComponent <CanvasGroup>(); this.m_fancyEntrance.m_fadeInTime = this.m_messageFadeInTime; this.m_fancyEntrance.m_punchScale = this.m_messagePunchScale; this.m_fancyEntrance.m_punchScaleAmount = this.m_messagePunchScaleAmount; this.m_fancyEntrance.m_punchScaleDuration = this.m_messagePunchScaleDuration; this.m_fancyEntrance.m_timeToDelayEntrance = this.m_messageTimeToDelayEntrance; this.m_fancyEntrance.m_activateOnEnable = true; this.m_fancyEntrance.m_objectToNotifyOnBegin = base.gameObject; this.m_fancyEntrance.m_notifyOnBeginCallbackName = "OnShowSuccessMessage"; this.m_missionSuccessMessage.SetActive(true); MissionRewardDisplay[] componentsInChildren1 = this.m_lootGroupObj.GetComponentsInChildren <MissionRewardDisplay>(true); for (int o = 0; o < (int)componentsInChildren1.Length; o++) { componentsInChildren1[o].ShowResultSuccess(this.m_lootEffectInitialDelay + this.m_lootEffectDelay * (float)o); } if (this.m_bonusLootChance > 0) { iTween.ValueTo(base.gameObject, iTween.Hash(new object[] { "name", "ShakeIt", "from", 0.3f, "to", 1f, "delay", this.m_bonusLootShakeInitialDelay, "time", this.m_bonusLootShakeDuration, "onupdate", "OnBonusLootShakeUpdate", "oncomplete", "OnBonusLootShakeComplete" })); } if (!awardOvermax) { this.m_bonusMissionRewardDisplay.ShowResultFail(this.m_lootEffectInitialDelay + this.m_lootEffectDelay * (float)((int)componentsInChildren1.Length)); } else { this.m_bonusMissionRewardDisplay.ShowResultSuccess(this.m_lootEffectInitialDelay + this.m_lootEffectDelay * (float)((int)componentsInChildren1.Length)); } } if (missionResultType == 3) { this.InitFollowerExperienceDisplays(); this.m_missionInProgressMessage.SetActive(false); this.m_missionSuccessMessage.SetActive(false); this.m_missionFailMessage.SetActive(true); if (this.m_fancyEntrance != null) { UnityEngine.Object.Destroy(this.m_fancyEntrance); iTween.Stop(this.m_missionSuccessMessage); this.m_missionSuccessMessage.transform.localScale = Vector3.one; iTween.Stop(this.m_missionFailMessage); this.m_missionFailMessage.transform.localScale = Vector3.one; } this.m_missionFailMessage.SetActive(false); this.m_fancyEntrance = this.m_missionFailMessage.AddComponent <FancyEntrance>(); this.m_fancyEntrance.m_fadeInCanvasGroup = this.m_missionFailMessage.GetComponent <CanvasGroup>(); this.m_fancyEntrance.m_fadeInTime = this.m_messageFadeInTime; this.m_fancyEntrance.m_punchScale = this.m_messagePunchScale; this.m_fancyEntrance.m_punchScaleAmount = this.m_messagePunchScaleAmount; this.m_fancyEntrance.m_punchScaleDuration = this.m_messagePunchScaleDuration; this.m_fancyEntrance.m_timeToDelayEntrance = this.m_messageTimeToDelayEntrance; this.m_fancyEntrance.m_activateOnEnable = true; this.m_fancyEntrance.m_objectToNotifyOnBegin = base.gameObject; this.m_fancyEntrance.m_notifyOnBeginCallbackName = "OnShowFailMessage"; this.m_missionFailMessage.SetActive(true); MissionRewardDisplay[] missionRewardDisplayArray1 = this.m_lootGroupObj.GetComponentsInChildren <MissionRewardDisplay>(true); for (int p = 0; p < (int)missionRewardDisplayArray1.Length; p++) { missionRewardDisplayArray1[p].ShowResultFail(this.m_lootEffectInitialDelay); } this.m_bonusMissionRewardDisplay.ShowResultFail(this.m_lootEffectInitialDelay); } if (missionResultType == 0) { this.m_missionInProgressMessage.SetActive(true); this.m_missionSuccessMessage.SetActive(false); this.m_missionFailMessage.SetActive(false); this.m_bonusMissionRewardDisplay.ClearResults(); } if (missionResultType == 1) { this.m_missionInProgressMessage.SetActive(false); this.m_missionSuccessMessage.SetActive(false); this.m_missionFailMessage.SetActive(false); FollowerExperienceDisplay[] followerExperienceDisplayArray = this.m_followerExperienceDisplayArea.GetComponentsInChildren <FollowerExperienceDisplay>(true); for (int q = 0; q < (int)followerExperienceDisplayArray.Length; q++) { UnityEngine.Object.Destroy(followerExperienceDisplayArray[q].gameObject); } } if (this.m_partyBuffGroup == null) { return; } AbilityDisplay[] abilityDisplayArray = this.m_partyBuffGroup.GetComponentsInChildren <AbilityDisplay>(true); for (int r = 0; r < (int)abilityDisplayArray.Length; r++) { UnityEngine.Object.Destroy(abilityDisplayArray[r].gameObject); } int adjustedMissionDuration = GeneralHelpers.GetAdjustedMissionDuration(record, wrapperGarrisonFollowers, this.enemyPortraitsGroup); int length = 0; foreach (WrapperGarrisonFollower wrapperGarrisonFollower in PersistentFollowerData.followerDictionary.Values) { if (wrapperGarrisonFollower.CurrentMissionID == garrMissionID) { int[] buffsForCurrentMission = GeneralHelpers.GetBuffsForCurrentMission(wrapperGarrisonFollower.GarrFollowerID, garrMissionID, this.missionFollowerSlotGroup, adjustedMissionDuration); length += (int)buffsForCurrentMission.Length; int[] numArray = buffsForCurrentMission; for (int s = 0; s < (int)numArray.Length; s++) { int num4 = numArray[s]; GameObject gameObject2 = UnityEngine.Object.Instantiate <GameObject>(this.m_mechanicEffectDisplayPrefab); gameObject2.transform.SetParent(this.m_partyBuffGroup.transform, false); gameObject2.GetComponent <AbilityDisplay>().SetAbility(num4, false, false, null); } } } if (length <= 8) { this.m_partyBuffsText.text = StaticDB.GetString("PARTY_BUFFS", null); } else { this.m_partyBuffsText.text = string.Empty; } HorizontalLayoutGroup horizontalLayoutGroup = this.m_partyBuffGroup.GetComponent <HorizontalLayoutGroup>(); if (horizontalLayoutGroup != null) { if (length <= 10 || !Main.instance.IsNarrowScreen()) { horizontalLayoutGroup.spacing = 6f; } else { horizontalLayoutGroup.spacing = 3f; } } this.m_partyBuffGroup.SetActive(length > 0); }
public void ShowMissionResults(int garrMissionID, int missionResultType, bool awardOvermax) { this.m_missionResultsDisplayCanvasGroupAutoFadeOut.Reset(); this.m_currentResultType = (MissionResultType)missionResultType; this.m_followerExperienceDisplayArea.SetActive(false); this.m_attemptedAutoComplete = false; this.m_garrMissionID = garrMissionID; this.m_darknessBG.SetActive(true); this.m_popupView.SetActive(true); this.m_bonusLootDisplay.SetActive(false); if (this.missionFollowerSlotGroup != null) { MissionFollowerSlot[] componentsInChildren = this.missionFollowerSlotGroup.GetComponentsInChildren <MissionFollowerSlot>(true); for (int i = 0; i < componentsInChildren.Length; i++) { if (componentsInChildren[i] != null && componentsInChildren[i] != this.missionFollowerSlotGroup.get_transform()) { Object.DestroyImmediate(componentsInChildren[i].get_gameObject()); } } } MissionEncounter[] componentsInChildren2 = this.enemyPortraitsGroup.GetComponentsInChildren <MissionEncounter>(true); for (int j = 0; j < componentsInChildren2.Length; j++) { if (componentsInChildren2[j] != null && componentsInChildren2[j] != this.enemyPortraitsGroup.get_transform()) { Object.DestroyImmediate(componentsInChildren2[j].get_gameObject()); } } if (this.treasureChestHorde != null && this.treasureChestAlliance != null) { if (GarrisonStatus.Faction() == PVP_FACTION.HORDE) { this.treasureChestHorde.SetActive(true); this.treasureChestAlliance.SetActive(false); } else { this.treasureChestHorde.SetActive(false); this.treasureChestAlliance.SetActive(true); } } JamGarrisonMobileMission jamGarrisonMobileMission = (JamGarrisonMobileMission)PersistentMissionData.missionDictionary.get_Item(garrMissionID); this.m_missionStartedTime = jamGarrisonMobileMission.StartTime; this.m_missionDurationInSeconds = jamGarrisonMobileMission.MissionDuration; for (int k = 0; k < jamGarrisonMobileMission.Encounter.Length; k++) { GameObject gameObject = Object.Instantiate <GameObject>(this.missionEncounterPrefab); gameObject.get_transform().SetParent(this.enemyPortraitsGroup.get_transform(), false); MissionEncounter component = gameObject.GetComponent <MissionEncounter>(); int garrMechanicID = (jamGarrisonMobileMission.Encounter[k].MechanicID.Length <= 0) ? 0 : jamGarrisonMobileMission.Encounter[k].MechanicID[0]; component.SetEncounter(jamGarrisonMobileMission.Encounter[k].EncounterID, garrMechanicID); } GarrMissionRec record = StaticDB.garrMissionDB.GetRecord(garrMissionID); this.missionNameText.set_text(record.Name); this.missionLocationText.set_text(record.Location); this.missioniLevelText.set_text(StaticDB.GetString("ITEM_LEVEL_ABBREVIATION", null) + " " + record.TargetItemLevel); GarrMissionTypeRec record2 = StaticDB.garrMissionTypeDB.GetRecord((int)record.GarrMissionTypeID); this.missionTypeImage.set_overrideSprite(TextureAtlas.instance.GetAtlasSprite((int)record2.UiTextureAtlasMemberID)); if (this.missionFollowerSlotGroup != null) { int num = 0; while ((long)num < (long)((ulong)record.MaxFollowers)) { GameObject gameObject2 = Object.Instantiate <GameObject>(this.missionFollowerSlotPrefab); gameObject2.get_transform().SetParent(this.missionFollowerSlotGroup.get_transform(), false); MissionFollowerSlot component2 = gameObject2.GetComponent <MissionFollowerSlot>(); component2.m_enemyPortraitsGroup = this.enemyPortraitsGroup; num++; } } if (record.UiTextureKitID > 0u) { UiTextureKitRec record3 = StaticDB.uiTextureKitDB.GetRecord((int)record.UiTextureKitID); this.m_scrollingEnvironment_Back.set_enabled(false); this.m_scrollingEnvironment_Mid.set_enabled(false); this.m_scrollingEnvironment_Fore.set_enabled(false); int uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("_" + record3.KitPrefix + "-Back"); if (uITextureAtlasMemberID > 0) { Sprite atlasSprite = TextureAtlas.instance.GetAtlasSprite(uITextureAtlasMemberID); if (atlasSprite != null) { this.m_scrollingEnvironment_Back.set_enabled(true); this.m_scrollingEnvironment_Back.set_sprite(atlasSprite); } } int uITextureAtlasMemberID2 = TextureAtlas.GetUITextureAtlasMemberID("_" + record3.KitPrefix + "-Mid"); if (uITextureAtlasMemberID2 > 0) { Sprite atlasSprite2 = TextureAtlas.instance.GetAtlasSprite(uITextureAtlasMemberID2); if (atlasSprite2 != null) { this.m_scrollingEnvironment_Mid.set_enabled(true); this.m_scrollingEnvironment_Mid.set_sprite(atlasSprite2); } } int uITextureAtlasMemberID3 = TextureAtlas.GetUITextureAtlasMemberID("_" + record3.KitPrefix + "-Fore"); if (uITextureAtlasMemberID3 > 0) { Sprite atlasSprite3 = TextureAtlas.instance.GetAtlasSprite(uITextureAtlasMemberID3); if (atlasSprite3 != null) { this.m_scrollingEnvironment_Fore.set_enabled(true); this.m_scrollingEnvironment_Fore.set_sprite(atlasSprite3); } } } else { Debug.LogWarning(string.Concat(new object[] { "DATA ERROR: Mission UITextureKit Not Set for mission ID:", record.ID, " - ", record.Name })); Debug.LogWarning("This means the scrolling background images will show the wrong location"); } if (this.m_lootGroupObj == null || this.m_missionRewardDisplayPrefab == null) { return; } MissionRewardDisplay[] componentsInChildren3 = this.m_lootGroupObj.GetComponentsInChildren <MissionRewardDisplay>(true); for (int l = 0; l < componentsInChildren3.Length; l++) { if (componentsInChildren3[l] != null) { Object.DestroyImmediate(componentsInChildren3[l].get_gameObject()); } } MissionFollowerSlot[] componentsInChildren4 = this.missionFollowerSlotGroup.GetComponentsInChildren <MissionFollowerSlot>(true); int num2 = 0; using (Dictionary <int, JamGarrisonFollower> .ValueCollection.Enumerator enumerator = PersistentFollowerData.followerDictionary.get_Values().GetEnumerator()) { while (enumerator.MoveNext()) { JamGarrisonFollower current = enumerator.get_Current(); if (current.CurrentMissionID == garrMissionID) { componentsInChildren4[num2++].SetFollower(current.GarrFollowerID); if (missionResultType == 1) { PersistentFollowerData.CachePreMissionFollower(current); } } } } this.UpdateMissionStatus(garrMissionID); MissionFollowerSlot[] array = componentsInChildren4; for (int m = 0; m < array.Length; m++) { MissionFollowerSlot missionFollowerSlot = array[m]; missionFollowerSlot.InitHeartPanel(); } MissionRewardDisplay.InitMissionRewards(this.m_missionRewardDisplayPrefab.get_gameObject(), this.m_lootGroupObj.get_transform(), jamGarrisonMobileMission.Reward); if (record.OvermaxRewardPackID > 0 && jamGarrisonMobileMission.OvermaxReward.Length > 0) { this.m_bonusLootDisplay.SetActive(true); JamGarrisonMissionReward jamGarrisonMissionReward = jamGarrisonMobileMission.OvermaxReward[0]; if (jamGarrisonMissionReward.ItemID > 0) { this.m_bonusMissionRewardDisplay.InitReward(MissionRewardDisplay.RewardType.item, jamGarrisonMissionReward.ItemID, (int)jamGarrisonMissionReward.ItemQuantity, 0, jamGarrisonMissionReward.ItemFileDataID); } else if (jamGarrisonMissionReward.FollowerXP > 0u) { this.m_bonusMissionRewardDisplay.InitReward(MissionRewardDisplay.RewardType.followerXP, 0, (int)jamGarrisonMissionReward.FollowerXP, 0, 0); } else if (jamGarrisonMissionReward.CurrencyQuantity > 0u) { if (jamGarrisonMissionReward.CurrencyType == 0) { this.m_bonusMissionRewardDisplay.InitReward(MissionRewardDisplay.RewardType.gold, 0, (int)(jamGarrisonMissionReward.CurrencyQuantity / 10000u), 0, 0); } else { CurrencyTypesRec record4 = StaticDB.currencyTypesDB.GetRecord(jamGarrisonMissionReward.CurrencyType); int rewardQuantity = (int)((ulong)jamGarrisonMissionReward.CurrencyQuantity / (ulong)(((record4.Flags & 8u) == 0u) ? 1L : 100L)); this.m_bonusMissionRewardDisplay.InitReward(MissionRewardDisplay.RewardType.currency, jamGarrisonMissionReward.CurrencyType, rewardQuantity, 0, 0); } } } this.m_timeUntilFadeOutMissionDetailsDisplay = this.m_missionDetailsFadeOutDelay; this.m_timeUntilShowFollowerExperienceDisplays = this.m_experienceDisplayInitialEntranceDelay; if (missionResultType == 2) { this.InitFollowerExperienceDisplays(); Main.instance.m_UISound.Play_MissionSuccess(); this.m_missionInProgressMessage.SetActive(false); this.m_missionSuccessMessage.SetActive(true); this.m_missionFailMessage.SetActive(false); if (this.m_fancyEntrance != null) { Object.DestroyImmediate(this.m_fancyEntrance); iTween.Stop(this.m_missionSuccessMessage); this.m_missionSuccessMessage.get_transform().set_localScale(Vector3.get_one()); iTween.Stop(this.m_missionFailMessage); this.m_missionFailMessage.get_transform().set_localScale(Vector3.get_one()); } this.m_missionSuccessMessage.SetActive(false); this.m_fancyEntrance = this.m_missionSuccessMessage.AddComponent <FancyEntrance>(); this.m_fancyEntrance.m_fadeInCanvasGroup = this.m_missionSuccessMessage.GetComponent <CanvasGroup>(); this.m_fancyEntrance.m_fadeInTime = this.m_messageFadeInTime; this.m_fancyEntrance.m_punchScale = this.m_messagePunchScale; this.m_fancyEntrance.m_punchScaleAmount = this.m_messagePunchScaleAmount; this.m_fancyEntrance.m_punchScaleDuration = this.m_messagePunchScaleDuration; this.m_fancyEntrance.m_timeToDelayEntrance = this.m_messageTimeToDelayEntrance; this.m_missionSuccessMessage.SetActive(true); MissionRewardDisplay[] componentsInChildren5 = this.m_lootGroupObj.GetComponentsInChildren <MissionRewardDisplay>(true); for (int n = 0; n < componentsInChildren5.Length; n++) { componentsInChildren5[n].ShowResultSuccess(this.m_lootEffectInitialDelay + this.m_lootEffectDelay * (float)n); } if (awardOvermax) { this.m_bonusMissionRewardDisplay.ShowResultSuccess(this.m_lootEffectInitialDelay + this.m_lootEffectDelay * (float)componentsInChildren5.Length); } else { this.m_bonusMissionRewardDisplay.ShowResultFail(this.m_lootEffectInitialDelay + this.m_lootEffectDelay * (float)componentsInChildren5.Length); } } if (missionResultType == 3) { this.InitFollowerExperienceDisplays(); Main.instance.m_UISound.Play_MissionFailure(); this.m_missionInProgressMessage.SetActive(false); this.m_missionSuccessMessage.SetActive(false); this.m_missionFailMessage.SetActive(true); if (this.m_fancyEntrance != null) { Object.DestroyImmediate(this.m_fancyEntrance); iTween.Stop(this.m_missionSuccessMessage); this.m_missionSuccessMessage.get_transform().set_localScale(Vector3.get_one()); iTween.Stop(this.m_missionFailMessage); this.m_missionFailMessage.get_transform().set_localScale(Vector3.get_one()); } this.m_missionFailMessage.SetActive(false); this.m_fancyEntrance = this.m_missionFailMessage.AddComponent <FancyEntrance>(); this.m_fancyEntrance.m_fadeInCanvasGroup = this.m_missionFailMessage.GetComponent <CanvasGroup>(); this.m_fancyEntrance.m_fadeInTime = this.m_messageFadeInTime; this.m_fancyEntrance.m_punchScale = this.m_messagePunchScale; this.m_fancyEntrance.m_punchScaleAmount = this.m_messagePunchScaleAmount; this.m_fancyEntrance.m_punchScaleDuration = this.m_messagePunchScaleDuration; this.m_fancyEntrance.m_timeToDelayEntrance = this.m_messageTimeToDelayEntrance; this.m_missionFailMessage.SetActive(true); MissionRewardDisplay[] componentsInChildren6 = this.m_lootGroupObj.GetComponentsInChildren <MissionRewardDisplay>(true); for (int num3 = 0; num3 < componentsInChildren6.Length; num3++) { componentsInChildren6[num3].ShowResultFail(this.m_lootEffectInitialDelay + this.m_lootEffectDelay * (float)num3); } this.m_bonusMissionRewardDisplay.ShowResultFail(this.m_lootEffectInitialDelay + this.m_lootEffectDelay * (float)componentsInChildren6.Length); } if (missionResultType == 0) { this.m_missionInProgressMessage.SetActive(true); this.m_missionSuccessMessage.SetActive(false); this.m_missionFailMessage.SetActive(false); this.m_bonusMissionRewardDisplay.ClearResults(); } if (missionResultType == 1) { this.m_missionInProgressMessage.SetActive(false); this.m_missionSuccessMessage.SetActive(false); this.m_missionFailMessage.SetActive(false); FollowerExperienceDisplay[] componentsInChildren7 = this.m_followerExperienceDisplayArea.GetComponentsInChildren <FollowerExperienceDisplay>(true); FollowerExperienceDisplay[] array2 = componentsInChildren7; for (int num4 = 0; num4 < array2.Length; num4++) { FollowerExperienceDisplay followerExperienceDisplay = array2[num4]; Object.DestroyImmediate(followerExperienceDisplay.get_gameObject()); } } if (this.m_partyBuffGroup != null) { AbilityDisplay[] componentsInChildren8 = this.m_partyBuffGroup.GetComponentsInChildren <AbilityDisplay>(true); AbilityDisplay[] array3 = componentsInChildren8; for (int num5 = 0; num5 < array3.Length; num5++) { AbilityDisplay abilityDisplay = array3[num5]; Object.DestroyImmediate(abilityDisplay.get_gameObject()); } } int num6 = 0; using (Dictionary <int, JamGarrisonFollower> .ValueCollection.Enumerator enumerator2 = PersistentFollowerData.followerDictionary.get_Values().GetEnumerator()) { while (enumerator2.MoveNext()) { JamGarrisonFollower current2 = enumerator2.get_Current(); if (current2.CurrentMissionID == garrMissionID) { int[] buffsForCurrentMission = GeneralHelpers.GetBuffsForCurrentMission(current2.GarrFollowerID, garrMissionID, this.missionFollowerSlotGroup); num6 += buffsForCurrentMission.Length; int[] array4 = buffsForCurrentMission; for (int num7 = 0; num7 < array4.Length; num7++) { int garrAbilityID = array4[num7]; GameObject gameObject3 = Object.Instantiate <GameObject>(this.m_mechanicEffectDisplayPrefab); gameObject3.get_transform().SetParent(this.m_partyBuffGroup.get_transform(), false); AbilityDisplay component3 = gameObject3.GetComponent <AbilityDisplay>(); component3.SetAbility(garrAbilityID, false, false, null); } } } } this.m_partyBuffGroup.SetActive(num6 > 0); }
public void SetQuestID(int questID) { this.m_questID = questID; base.get_gameObject().set_name("WorldQuest " + this.m_questID); MobileWorldQuest mobileWorldQuest = (MobileWorldQuest)WorldQuestData.worldQuestDictionary.get_Item(this.m_questID); if (mobileWorldQuest == null || mobileWorldQuest.Item == null) { return; } MobileWorldQuestReward[] item = mobileWorldQuest.Item; for (int i = 0; i < item.Length; i++) { MobileWorldQuestReward mobileWorldQuestReward = item[i]; ItemRec record = StaticDB.itemDB.GetRecord(mobileWorldQuestReward.RecordID); if (record == null) { Debug.LogWarning(string.Concat(new object[] { "Invalid Item ID ", mobileWorldQuestReward.RecordID, " from Quest ID ", this.m_questID, ". Ignoring for loot quality check." })); } else { if (record.OverallQualityID > (int)this.m_lootQuality) { this.m_lootQuality = (ITEM_QUALITY)record.OverallQualityID; } if (this.m_showLootIconInsteadOfMain) { this.m_main.set_sprite(GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, mobileWorldQuestReward.FileDataID)); } } } if (this.m_showLootIconInsteadOfMain) { if (mobileWorldQuest.Money > 0) { this.m_main.set_sprite(Resources.Load <Sprite>("MiscIcons/INV_Misc_Coin_01")); } if (mobileWorldQuest.Experience > 0) { this.m_main.set_sprite(GeneralHelpers.GetLocalizedFollowerXpIcon()); } MobileWorldQuestReward[] currency = mobileWorldQuest.Currency; for (int j = 0; j < currency.Length; j++) { MobileWorldQuestReward mobileWorldQuestReward2 = currency[j]; CurrencyTypesRec record2 = StaticDB.currencyTypesDB.GetRecord(mobileWorldQuestReward2.RecordID); if (record2 != null) { this.m_main.set_sprite(GeneralHelpers.LoadCurrencyIcon(mobileWorldQuestReward2.RecordID)); } } } this.m_endTime = (long)mobileWorldQuest.EndTime; int areaID = 0; WorldMapAreaRec record3 = StaticDB.worldMapAreaDB.GetRecord(mobileWorldQuest.WorldMapAreaID); if (record3 != null) { areaID = record3.AreaID; } this.m_areaID = areaID; QuestInfoRec record4 = StaticDB.questInfoDB.GetRecord(mobileWorldQuest.QuestInfoID); if (record4 == null) { return; } bool active = (record4.Modifiers & 2) != 0; this.m_dragonFrame.get_gameObject().SetActive(active); bool flag = (record4.Modifiers & 1) != 0; if (flag && record4.Type != 3) { this.m_background.set_sprite(Resources.Load <Sprite>("NewWorldQuest/Mobile-RareQuest")); } bool flag2 = (record4.Modifiers & 4) != 0; if (flag2 && record4.Type != 3) { this.m_background.set_sprite(Resources.Load <Sprite>("NewWorldQuest/Mobile-EpicQuest")); } int uITextureAtlasMemberID; string text; switch (record4.Type) { case 1: { int profession = record4.Profession; switch (profession) { case 182: uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-herbalism"); text = "Mobile-Herbalism"; goto IL_50E; case 183: case 184: IL_2F9: if (profession == 164) { uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-blacksmithing"); text = "Mobile-Blacksmithing"; goto IL_50E; } if (profession == 165) { uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-leatherworking"); text = "Mobile-Leatherworking"; goto IL_50E; } if (profession == 129) { uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-firstaid"); text = "Mobile-FirstAid"; goto IL_50E; } if (profession == 171) { uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-alchemy"); text = "Mobile-Alchemy"; goto IL_50E; } if (profession == 197) { uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-tailoring"); text = "Mobile-Tailoring"; goto IL_50E; } if (profession == 202) { uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-engineering"); text = "Mobile-Engineering"; goto IL_50E; } if (profession == 333) { uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-enchanting"); text = "Mobile-Enchanting"; goto IL_50E; } if (profession == 356) { uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-fishing"); text = "Mobile-Fishing"; goto IL_50E; } if (profession == 393) { uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-skinning"); text = "Mobile-Skinning"; goto IL_50E; } if (profession == 755) { uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-jewelcrafting"); text = "Mobile-Jewelcrafting"; goto IL_50E; } if (profession == 773) { uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-inscription"); text = "Mobile-Inscription"; goto IL_50E; } if (profession != 794) { uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang"); text = "Mobile-QuestExclamationIcon"; goto IL_50E; } uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-archaeology"); text = "Mobile-Archaeology"; goto IL_50E; case 185: uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-cooking"); text = "Mobile-Cooking"; goto IL_50E; case 186: uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-mining"); text = "Mobile-Mining"; goto IL_50E; } goto IL_2F9; IL_50E: goto IL_55B; } case 3: uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-pvp-ffa"); text = "Mobile-PVP"; goto IL_55B; case 4: uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-petbattle"); text = "Mobile-Pets"; goto IL_55B; } uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang"); text = "Mobile-QuestExclamationIcon"; IL_55B: if (!this.m_showLootIconInsteadOfMain) { if (text != null) { this.m_main.set_sprite(Resources.Load <Sprite>("NewWorldQuest/" + text)); } else if (uITextureAtlasMemberID > 0) { this.m_main.set_sprite(TextureAtlas.instance.GetAtlasSprite(uITextureAtlasMemberID)); this.m_main.SetNativeSize(); } } }
public void ShowMissionResults(int garrMissionID, int missionResultType, bool awardOvermax) { GarrMissionRec record = StaticDB.garrMissionDB.GetRecord(garrMissionID); if (record == null) { return; } this.m_missionResultsDisplayCanvasGroupAutoFadeOut.Reset(); this.m_currentResultType = (MissionResultType)missionResultType; this.m_followerExperienceDisplayArea.SetActive(false); this.m_attemptedAutoComplete = false; this.m_garrMissionID = garrMissionID; this.m_darknessBG.SetActive(true); this.m_popupView.SetActive(true); this.m_bonusLootDisplay.SetActive(false); if (this.missionFollowerSlotGroup != null) { MissionFollowerSlot[] componentsInChildren = this.missionFollowerSlotGroup.GetComponentsInChildren <MissionFollowerSlot>(true); for (int i = 0; i < componentsInChildren.Length; i++) { if (componentsInChildren[i] != null && componentsInChildren[i] != this.missionFollowerSlotGroup.transform) { componentsInChildren[i].gameObject.transform.SetParent(null); Object.Destroy(componentsInChildren[i].gameObject); } } } MissionEncounter[] componentsInChildren2 = this.enemyPortraitsGroup.GetComponentsInChildren <MissionEncounter>(true); for (int j = 0; j < componentsInChildren2.Length; j++) { if (componentsInChildren2[j] != null && componentsInChildren2[j] != this.enemyPortraitsGroup.transform) { componentsInChildren2[j].gameObject.transform.SetParent(null); Object.Destroy(componentsInChildren2[j].gameObject); } } if (this.treasureChestHorde != null && this.treasureChestAlliance != null) { if (GarrisonStatus.Faction() == PVP_FACTION.HORDE) { this.treasureChestHorde.SetActive(true); this.treasureChestAlliance.SetActive(false); } else { this.treasureChestHorde.SetActive(false); this.treasureChestAlliance.SetActive(true); } } WrapperGarrisonMission wrapperGarrisonMission = PersistentMissionData.missionDictionary[garrMissionID]; this.m_missionStartedTime = wrapperGarrisonMission.StartTime; this.m_missionDurationInSeconds = wrapperGarrisonMission.MissionDuration; for (int k = 0; k < wrapperGarrisonMission.Encounters.Count; k++) { GameObject gameObject = Object.Instantiate <GameObject>(this.missionEncounterPrefab); gameObject.transform.SetParent(this.enemyPortraitsGroup.transform, false); MissionEncounter component = gameObject.GetComponent <MissionEncounter>(); int garrMechanicID = (wrapperGarrisonMission.Encounters[k].MechanicIDs.Count <= 0) ? 0 : wrapperGarrisonMission.Encounters[k].MechanicIDs[0]; component.SetEncounter(wrapperGarrisonMission.Encounters[k].EncounterID, garrMechanicID); } this.missionNameText.text = record.Name; this.missionLocationText.text = record.Location; GarrMissionTypeRec record2 = StaticDB.garrMissionTypeDB.GetRecord((int)record.GarrMissionTypeID); this.missionTypeImage.overrideSprite = TextureAtlas.instance.GetAtlasSprite((int)record2.UiTextureAtlasMemberID); if (this.missionFollowerSlotGroup != null) { for (int l = 0; l < (int)record.MaxFollowers; l++) { GameObject gameObject2 = Object.Instantiate <GameObject>(this.missionFollowerSlotPrefab); gameObject2.transform.SetParent(this.missionFollowerSlotGroup.transform, false); MissionFollowerSlot component2 = gameObject2.GetComponent <MissionFollowerSlot>(); component2.m_enemyPortraitsGroup = this.enemyPortraitsGroup; } } if (record.UiTextureKitID > 0) { UiTextureKitRec record3 = StaticDB.uiTextureKitDB.GetRecord((int)record.UiTextureKitID); this.m_scrollingEnvironment_Back.enabled = false; this.m_scrollingEnvironment_Mid.enabled = false; this.m_scrollingEnvironment_Fore.enabled = false; int uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("_" + record3.KitPrefix + "-Back"); if (uitextureAtlasMemberID > 0) { Sprite atlasSprite = TextureAtlas.instance.GetAtlasSprite(uitextureAtlasMemberID); if (atlasSprite != null) { this.m_scrollingEnvironment_Back.enabled = true; this.m_scrollingEnvironment_Back.sprite = atlasSprite; } else { Debug.Log("Missing expected Back sprite from UiTextureKitID: [" + record.UiTextureKitID.ToString() + "]"); } } int uitextureAtlasMemberID2 = TextureAtlas.GetUITextureAtlasMemberID("_" + record3.KitPrefix + "-Mid"); if (uitextureAtlasMemberID2 > 0) { Sprite atlasSprite2 = TextureAtlas.instance.GetAtlasSprite(uitextureAtlasMemberID2); if (atlasSprite2 != null) { this.m_scrollingEnvironment_Mid.enabled = true; this.m_scrollingEnvironment_Mid.sprite = atlasSprite2; } else { Debug.Log("Missing expected Mid sprite from UiTextureKitID: [" + record.UiTextureKitID.ToString() + "]"); } } int uitextureAtlasMemberID3 = TextureAtlas.GetUITextureAtlasMemberID("_" + record3.KitPrefix + "-Fore"); if (uitextureAtlasMemberID3 > 0) { Sprite atlasSprite3 = TextureAtlas.instance.GetAtlasSprite(uitextureAtlasMemberID3); if (atlasSprite3 != null) { this.m_scrollingEnvironment_Fore.enabled = true; this.m_scrollingEnvironment_Fore.sprite = atlasSprite3; } else { Debug.Log("Missing expected Fore sprite from UiTextureKitID: [" + record.UiTextureKitID.ToString() + "]"); } } } else { Debug.LogWarning(string.Concat(new object[] { "DATA ERROR: Mission UITextureKit Not Set for mission ID:", record.ID, " - ", record.Name })); Debug.LogWarning("This means the scrolling background images will show the wrong location"); } if (this.m_lootGroupObj == null || this.m_missionRewardDisplayPrefab == null) { return; } MissionRewardDisplay[] componentsInChildren3 = this.m_lootGroupObj.GetComponentsInChildren <MissionRewardDisplay>(true); for (int m = 0; m < componentsInChildren3.Length; m++) { if (componentsInChildren3[m] != null) { Object.Destroy(componentsInChildren3[m].gameObject); } } if (missionResultType == 1) { PersistentFollowerData.ClearPreMissionFollowerData(); } List <WrapperGarrisonFollower> list = new List <WrapperGarrisonFollower>(); MissionFollowerSlot[] componentsInChildren4 = this.missionFollowerSlotGroup.GetComponentsInChildren <MissionFollowerSlot>(true); int num = 0; foreach (WrapperGarrisonFollower wrapperGarrisonFollower in PersistentFollowerData.followerDictionary.Values) { if (wrapperGarrisonFollower.CurrentMissionID == garrMissionID) { componentsInChildren4[num++].SetFollower(wrapperGarrisonFollower.GarrFollowerID); if (missionResultType == 1) { PersistentFollowerData.CachePreMissionFollower(wrapperGarrisonFollower); } list.Add(wrapperGarrisonFollower); } } this.UpdateMissionStatus(garrMissionID); foreach (MissionFollowerSlot missionFollowerSlot in componentsInChildren4) { missionFollowerSlot.InitHeartPanel(); } MissionRewardDisplay.InitMissionRewards(this.m_missionRewardDisplayPrefab.gameObject, this.m_lootGroupObj.transform, wrapperGarrisonMission.Rewards); if (record.OvermaxRewardPackID > 0 && wrapperGarrisonMission.OvermaxRewards.Count > 0) { this.m_bonusLootDisplay.SetActive(true); WrapperGarrisonMissionReward wrapperGarrisonMissionReward = wrapperGarrisonMission.OvermaxRewards[0]; if (wrapperGarrisonMissionReward.ItemID > 0) { this.m_bonusMissionRewardDisplay.InitReward(MissionRewardDisplay.RewardType.item, wrapperGarrisonMissionReward.ItemID, (int)wrapperGarrisonMissionReward.ItemQuantity, 0, wrapperGarrisonMissionReward.ItemFileDataID); } else if (wrapperGarrisonMissionReward.FollowerXP > 0u) { this.m_bonusMissionRewardDisplay.InitReward(MissionRewardDisplay.RewardType.followerXP, 0, (int)wrapperGarrisonMissionReward.FollowerXP, 0, 0); } else if (wrapperGarrisonMissionReward.CurrencyQuantity > 0u) { if (wrapperGarrisonMissionReward.CurrencyType == 0) { this.m_bonusMissionRewardDisplay.InitReward(MissionRewardDisplay.RewardType.gold, 0, (int)(wrapperGarrisonMissionReward.CurrencyQuantity / 10000u), 0, 0); } else { CurrencyTypesRec record4 = StaticDB.currencyTypesDB.GetRecord(wrapperGarrisonMissionReward.CurrencyType); int rewardQuantity = (int)((ulong)wrapperGarrisonMissionReward.CurrencyQuantity / (ulong)(((record4.Flags & 8u) == 0u) ? 1L : 100L)); this.m_bonusMissionRewardDisplay.InitReward(MissionRewardDisplay.RewardType.currency, wrapperGarrisonMissionReward.CurrencyType, rewardQuantity, 0, 0); } } } this.m_timeUntilFadeOutMissionDetailsDisplay = this.m_missionDetailsFadeOutDelay; this.m_timeUntilShowFollowerExperienceDisplays = this.m_experienceDisplayInitialEntranceDelay; if (missionResultType == 2) { this.InitFollowerExperienceDisplays(); this.m_missionInProgressMessage.SetActive(false); this.m_missionSuccessMessage.SetActive(true); this.m_missionFailMessage.SetActive(false); if (this.m_fancyEntrance != null) { Object.Destroy(this.m_fancyEntrance); iTween.Stop(this.m_missionSuccessMessage); this.m_missionSuccessMessage.transform.localScale = Vector3.one; iTween.Stop(this.m_missionFailMessage); this.m_missionFailMessage.transform.localScale = Vector3.one; } this.m_missionSuccessMessage.SetActive(false); this.m_fancyEntrance = this.m_missionSuccessMessage.AddComponent <FancyEntrance>(); this.m_fancyEntrance.m_fadeInCanvasGroup = this.m_missionSuccessMessage.GetComponent <CanvasGroup>(); this.m_fancyEntrance.m_fadeInTime = this.m_messageFadeInTime; this.m_fancyEntrance.m_punchScale = this.m_messagePunchScale; this.m_fancyEntrance.m_punchScaleAmount = this.m_messagePunchScaleAmount; this.m_fancyEntrance.m_punchScaleDuration = this.m_messagePunchScaleDuration; this.m_fancyEntrance.m_timeToDelayEntrance = this.m_messageTimeToDelayEntrance; this.m_fancyEntrance.m_activateOnEnable = true; this.m_fancyEntrance.m_objectToNotifyOnBegin = base.gameObject; this.m_fancyEntrance.m_notifyOnBeginCallbackName = "OnShowSuccessMessage"; this.m_missionSuccessMessage.SetActive(true); MissionRewardDisplay[] componentsInChildren5 = this.m_lootGroupObj.GetComponentsInChildren <MissionRewardDisplay>(true); for (int num2 = 0; num2 < componentsInChildren5.Length; num2++) { componentsInChildren5[num2].ShowResultSuccess(this.m_lootEffectInitialDelay + this.m_lootEffectDelay * (float)num2); } if (this.m_bonusLootChance > 0) { iTween.ValueTo(base.gameObject, iTween.Hash(new object[] { "name", "ShakeIt", "from", 0.3f, "to", 1f, "delay", this.m_bonusLootShakeInitialDelay, "time", this.m_bonusLootShakeDuration, "onupdate", "OnBonusLootShakeUpdate", "oncomplete", "OnBonusLootShakeComplete" })); } if (awardOvermax) { this.m_bonusMissionRewardDisplay.ShowResultSuccess(this.m_lootEffectInitialDelay + this.m_lootEffectDelay * (float)componentsInChildren5.Length); } else { this.m_bonusMissionRewardDisplay.ShowResultFail(this.m_lootEffectInitialDelay + this.m_lootEffectDelay * (float)componentsInChildren5.Length); } } if (missionResultType == 3) { this.InitFollowerExperienceDisplays(); this.m_missionInProgressMessage.SetActive(false); this.m_missionSuccessMessage.SetActive(false); this.m_missionFailMessage.SetActive(true); if (this.m_fancyEntrance != null) { Object.Destroy(this.m_fancyEntrance); iTween.Stop(this.m_missionSuccessMessage); this.m_missionSuccessMessage.transform.localScale = Vector3.one; iTween.Stop(this.m_missionFailMessage); this.m_missionFailMessage.transform.localScale = Vector3.one; } this.m_missionFailMessage.SetActive(false); this.m_fancyEntrance = this.m_missionFailMessage.AddComponent <FancyEntrance>(); this.m_fancyEntrance.m_fadeInCanvasGroup = this.m_missionFailMessage.GetComponent <CanvasGroup>(); this.m_fancyEntrance.m_fadeInTime = this.m_messageFadeInTime; this.m_fancyEntrance.m_punchScale = this.m_messagePunchScale; this.m_fancyEntrance.m_punchScaleAmount = this.m_messagePunchScaleAmount; this.m_fancyEntrance.m_punchScaleDuration = this.m_messagePunchScaleDuration; this.m_fancyEntrance.m_timeToDelayEntrance = this.m_messageTimeToDelayEntrance; this.m_fancyEntrance.m_activateOnEnable = true; this.m_fancyEntrance.m_objectToNotifyOnBegin = base.gameObject; this.m_fancyEntrance.m_notifyOnBeginCallbackName = "OnShowFailMessage"; this.m_missionFailMessage.SetActive(true); MissionRewardDisplay[] componentsInChildren6 = this.m_lootGroupObj.GetComponentsInChildren <MissionRewardDisplay>(true); for (int num3 = 0; num3 < componentsInChildren6.Length; num3++) { componentsInChildren6[num3].ShowResultFail(this.m_lootEffectInitialDelay); } this.m_bonusMissionRewardDisplay.ShowResultFail(this.m_lootEffectInitialDelay); } if (missionResultType == 0) { this.m_missionInProgressMessage.SetActive(true); this.m_missionSuccessMessage.SetActive(false); this.m_missionFailMessage.SetActive(false); this.m_bonusMissionRewardDisplay.ClearResults(); } if (missionResultType == 1) { this.m_missionInProgressMessage.SetActive(false); this.m_missionSuccessMessage.SetActive(false); this.m_missionFailMessage.SetActive(false); FollowerExperienceDisplay[] componentsInChildren7 = this.m_followerExperienceDisplayArea.GetComponentsInChildren <FollowerExperienceDisplay>(true); foreach (FollowerExperienceDisplay followerExperienceDisplay in componentsInChildren7) { Object.Destroy(followerExperienceDisplay.gameObject); } } if (this.m_partyBuffGroup == null) { return; } AbilityDisplay[] componentsInChildren8 = this.m_partyBuffGroup.GetComponentsInChildren <AbilityDisplay>(true); foreach (AbilityDisplay abilityDisplay in componentsInChildren8) { Object.Destroy(abilityDisplay.gameObject); } int adjustedMissionDuration = GeneralHelpers.GetAdjustedMissionDuration(record, list, this.enemyPortraitsGroup); int num6 = 0; foreach (WrapperGarrisonFollower wrapperGarrisonFollower2 in PersistentFollowerData.followerDictionary.Values) { if (wrapperGarrisonFollower2.CurrentMissionID == garrMissionID) { int[] buffsForCurrentMission = GeneralHelpers.GetBuffsForCurrentMission(wrapperGarrisonFollower2.GarrFollowerID, garrMissionID, this.missionFollowerSlotGroup, adjustedMissionDuration); num6 += buffsForCurrentMission.Length; foreach (int garrAbilityID in buffsForCurrentMission) { GameObject gameObject3 = Object.Instantiate <GameObject>(this.m_mechanicEffectDisplayPrefab); gameObject3.transform.SetParent(this.m_partyBuffGroup.transform, false); AbilityDisplay component3 = gameObject3.GetComponent <AbilityDisplay>(); component3.SetAbility(garrAbilityID, false, false, null); } } } if (num6 > 8) { this.m_partyBuffsText.text = string.Empty; } else { this.m_partyBuffsText.text = StaticDB.GetString("PARTY_BUFFS", null); } HorizontalLayoutGroup component4 = this.m_partyBuffGroup.GetComponent <HorizontalLayoutGroup>(); if (component4 != null) { if (num6 > 10 && Main.instance.IsNarrowScreen()) { component4.spacing = 3f; } else { component4.spacing = 6f; } } this.m_partyBuffGroup.SetActive(num6 > 0); }
public void SetBounty(WrapperWorldQuestBounty bounty) { this.m_bounty = bounty; Sprite sprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, bounty.IconFileDataID); if (sprite != null) { this.m_bountyIconInvalidFileDataID.gameObject.SetActive(false); this.m_bountyIcon.sprite = sprite; } else { this.m_bountyIconInvalidFileDataID.gameObject.SetActive(true); this.m_bountyIconInvalidFileDataID.text = string.Empty + bounty.IconFileDataID; } QuestV2Rec record = StaticDB.questV2DB.GetRecord(bounty.QuestID); if (record != null) { this.m_bountyName.text = record.QuestTitle; this.m_bountyDescription.text = string.Concat(new object[] { string.Empty, bounty.NumCompleted, "/", bounty.NumNeeded, " ", record.LogDescription }); } else { this.m_bountyName.text = "Unknown Quest ID " + bounty.QuestID; this.m_bountyDescription.text = "Unknown Quest ID " + bounty.QuestID; } this.m_timeLeft.text = StaticDB.GetString("TIME_LEFT", "Time Left: PH"); RectTransform[] componentsInChildren = this.m_bountyQuestIconArea.GetComponentsInChildren <RectTransform>(true); foreach (RectTransform rectTransform in componentsInChildren) { if (rectTransform != null && rectTransform.gameObject != this.m_bountyQuestIconArea.gameObject) { rectTransform.SetParent(null); Object.Destroy(rectTransform.gameObject); } } for (int j = 0; j < bounty.NumCompleted; j++) { GameObject gameObject = Object.Instantiate <GameObject>(this.m_bountyQuestCompleteIconPrefab); gameObject.transform.SetParent(this.m_bountyQuestIconArea.transform, false); } for (int k = 0; k < bounty.NumNeeded - bounty.NumCompleted; k++) { GameObject gameObject2 = Object.Instantiate <GameObject>(this.m_bountyQuestAvailableIconPrefab); gameObject2.transform.SetParent(this.m_bountyQuestIconArea.transform, false); } this.UpdateTimeRemaining(); if (bounty.Items.Count > 0 && StaticDB.itemDB.GetRecord(bounty.Items[0].RecordID) != null) { WrapperWorldQuestReward wrapperWorldQuestReward = bounty.Items[0]; Sprite rewardSprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, wrapperWorldQuestReward.FileDataID); this.m_rewardInfo.SetReward(MissionRewardDisplay.RewardType.item, wrapperWorldQuestReward.RecordID, wrapperWorldQuestReward.Quantity, rewardSprite, wrapperWorldQuestReward.ItemContext, wrapperWorldQuestReward.ItemInstance); } else if (bounty.Money > 1000000) { Sprite iconSprite = Resources.Load <Sprite>("MiscIcons/INV_Misc_Coin_01"); this.m_rewardInfo.SetGold(bounty.Money / 10000, iconSprite); } else if (bounty.Currencies.Count > 1) { int num = 0; foreach (WrapperWorldQuestReward wrapperWorldQuestReward2 in bounty.Currencies) { bool flag = wrapperWorldQuestReward2.RecordID == 1560; CurrencyTypesRec record2 = StaticDB.currencyTypesDB.GetRecord(wrapperWorldQuestReward2.RecordID); CurrencyContainerRec currencyContainerRec = CurrencyContainerDB.CheckAndGetValidCurrencyContainer(wrapperWorldQuestReward2.RecordID, wrapperWorldQuestReward2.Quantity); if (currencyContainerRec != null) { Sprite iconSprite2 = CurrencyContainerDB.LoadCurrencyContainerIcon(wrapperWorldQuestReward2.RecordID, wrapperWorldQuestReward2.Quantity); int num2 = wrapperWorldQuestReward2.Quantity / (((record2.Flags & 8u) == 0u) ? 1 : 100); if (num2 > num) { num = num2; this.m_rewardInfo.SetCurrency(wrapperWorldQuestReward2.RecordID, num, iconSprite2); } } else { Sprite iconSprite2 = GeneralHelpers.LoadCurrencyIcon(wrapperWorldQuestReward2.RecordID); int num3 = wrapperWorldQuestReward2.Quantity / (((record2.Flags & 8u) == 0u) ? 1 : 100); if (num3 > num || flag) { num = num3; this.m_rewardInfo.SetCurrency(wrapperWorldQuestReward2.RecordID, num, iconSprite2); if (flag) { break; } } } } } }
private void InitRewardInfoDisplay(WrapperWorldQuest worldQuest) { Sprite sprite; int quantity; int num = 0; this.m_rewardInfo[0].gameObject.SetActive(true); this.m_rewardInfo[1].gameObject.SetActive(false); this.m_rewardInfo[2].gameObject.SetActive(false); if (worldQuest.Items != null && worldQuest.Items.Count <WrapperWorldQuestReward>() > 0) { foreach (WrapperWorldQuestReward item in worldQuest.Items) { Sprite sprite1 = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, item.FileDataID); this.m_rewardInfo[num].SetReward(MissionRewardDisplay.RewardType.item, item.RecordID, item.Quantity, sprite1, item.ItemContext); int num1 = num; num = num1 + 1; this.EnableAdditionalRewardDisplays(num1); if (num < 3) { continue; } return; } } else if (worldQuest.Currencies.Count <WrapperWorldQuestReward>() > 0) { foreach (WrapperWorldQuestReward currency in worldQuest.Currencies) { CurrencyTypesRec record = StaticDB.currencyTypesDB.GetRecord(currency.RecordID); if (CurrencyContainerDB.CheckAndGetValidCurrencyContainer(currency.RecordID, currency.Quantity) == null) { sprite = GeneralHelpers.LoadCurrencyIcon(currency.RecordID); quantity = currency.Quantity / ((record.Flags & 8) == 0 ? 1 : 100); this.m_rewardInfo[num].SetCurrency(currency.RecordID, quantity, sprite); int num2 = num; num = num2 + 1; this.EnableAdditionalRewardDisplays(num2); if (num < 3) { continue; } return; } else { sprite = CurrencyContainerDB.LoadCurrencyContainerIcon(currency.RecordID, currency.Quantity); quantity = currency.Quantity / ((record.Flags & 8) == 0 ? 1 : 100); this.m_rewardInfo[num].SetCurrency(currency.RecordID, quantity, sprite); int num3 = num; num = num3 + 1; this.EnableAdditionalRewardDisplays(num3); if (num >= 3) { return; } } } } else if (worldQuest.Money > 0) { Sprite sprite2 = Resources.Load <Sprite>("MiscIcons/INV_Misc_Coin_01"); this.m_rewardInfo[num].SetGold(worldQuest.Money / 10000, sprite2); int num4 = num; num = num4 + 1; this.EnableAdditionalRewardDisplays(num4); if (num >= 3) { return; } } else if (worldQuest.Experience > 0) { Sprite localizedFollowerXpIcon = GeneralHelpers.GetLocalizedFollowerXpIcon(); this.m_rewardInfo[num].SetFollowerXP(worldQuest.Experience, localizedFollowerXpIcon); int num5 = num; num = num5 + 1; this.EnableAdditionalRewardDisplays(num5); if (num >= 3) { return; } } }
public void SetQuestID(int questID) { this.m_questID = questID; base.gameObject.name = "WorldQuest " + this.m_questID; MobileWorldQuest mobileWorldQuest = (MobileWorldQuest)WorldQuestData.worldQuestDictionary[this.m_questID]; if (mobileWorldQuest == null || mobileWorldQuest.Item == null) { return; } this.m_quantityArea.gameObject.SetActive(false); bool flag = false; foreach (MobileWorldQuestReward mobileWorldQuestReward in mobileWorldQuest.Item) { ItemRec record = StaticDB.itemDB.GetRecord(mobileWorldQuestReward.RecordID); if (record == null) { Debug.LogWarning(string.Concat(new object[] { "Invalid Item ID ", mobileWorldQuestReward.RecordID, " from Quest ID ", this.m_questID, ". Ignoring for loot quality check." })); } else { flag = true; if (record.OverallQualityID > (int)this.m_lootQuality) { this.m_lootQuality = (ITEM_QUALITY)record.OverallQualityID; } if (this.m_showLootIconInsteadOfMain) { bool isArtifactXP = false; long quantity = 0L; StaticDB.itemEffectDB.EnumRecordsByParentID(mobileWorldQuestReward.RecordID, delegate(ItemEffectRec itemEffectRec) { StaticDB.spellEffectDB.EnumRecordsByParentID(itemEffectRec.SpellID, delegate(SpellEffectRec spellEffectRec) { if (spellEffectRec.Effect == 240) { isArtifactXP = true; quantity = GeneralHelpers.ApplyArtifactXPMultiplier((long)spellEffectRec.EffectBasePoints, (double)GarrisonStatus.ArtifactXpMultiplier); return(false); } return(true); }); return(!isArtifactXP); }); if (isArtifactXP) { this.m_main.sprite = Resources.Load <Sprite>("WorldMap/INV_Artifact_XP02"); if (AdventureMapPanel.instance.IsFilterEnabled(MapFilterType.ArtifactPower)) { this.m_quantityArea.gameObject.SetActive(true); this.m_quantity.text = quantity.ToString(); } } else { this.m_main.sprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, mobileWorldQuestReward.FileDataID); this.m_itemID = mobileWorldQuestReward.RecordID; this.m_itemContext = mobileWorldQuestReward.ItemContext; this.ShowILVL(); } } } } if (!flag && this.m_showLootIconInsteadOfMain) { if (mobileWorldQuest.Currency.GetLength(0) > 0) { foreach (MobileWorldQuestReward mobileWorldQuestReward2 in mobileWorldQuest.Currency) { CurrencyTypesRec record2 = StaticDB.currencyTypesDB.GetRecord(mobileWorldQuestReward2.RecordID); if (record2 != null) { this.m_main.sprite = GeneralHelpers.LoadCurrencyIcon(mobileWorldQuestReward2.RecordID); } if (AdventureMapPanel.instance.IsFilterEnabled(MapFilterType.OrderResources)) { this.m_quantityArea.gameObject.SetActive(true); this.m_quantity.text = mobileWorldQuestReward2.Quantity.ToString(); } } } else if (mobileWorldQuest.Money > 0) { this.m_main.sprite = Resources.Load <Sprite>("MiscIcons/INV_Misc_Coin_01"); if (AdventureMapPanel.instance.IsFilterEnabled(MapFilterType.Gold)) { this.m_quantityArea.gameObject.SetActive(true); this.m_quantity.text = string.Empty + mobileWorldQuest.Money / 100 / 100; } } else if (mobileWorldQuest.Experience > 0) { this.m_main.sprite = GeneralHelpers.GetLocalizedFollowerXpIcon(); } } this.m_endTime = (long)mobileWorldQuest.EndTime; int areaID = 0; WorldMapAreaRec record3 = StaticDB.worldMapAreaDB.GetRecord(mobileWorldQuest.WorldMapAreaID); if (record3 != null) { areaID = record3.AreaID; } this.m_areaID = areaID; QuestInfoRec record4 = StaticDB.questInfoDB.GetRecord(mobileWorldQuest.QuestInfoID); if (record4 == null) { return; } bool active = (record4.Modifiers & 2) != 0; this.m_dragonFrame.gameObject.SetActive(active); bool flag2 = record4.Type == 7; this.m_normalGlow.gameObject.SetActive(!flag2); this.m_legionAssaultGlow.gameObject.SetActive(flag2); bool flag3 = (record4.Modifiers & 1) != 0; if (flag3 && record4.Type != 3) { this.m_background.sprite = Resources.Load <Sprite>("NewWorldQuest/Mobile-RareQuest"); } bool flag4 = (record4.Modifiers & 4) != 0; if (flag4 && record4.Type != 3) { this.m_background.sprite = Resources.Load <Sprite>("NewWorldQuest/Mobile-EpicQuest"); } int uitextureAtlasMemberID; string text; switch (record4.Type) { case 1: { int profession = record4.Profession; switch (profession) { case 182: uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-herbalism"); text = "Mobile-Herbalism"; break; default: if (profession != 164) { if (profession != 165) { if (profession != 129) { if (profession != 171) { if (profession != 197) { if (profession != 202) { if (profession != 333) { if (profession != 356) { if (profession != 393) { if (profession != 755) { if (profession != 773) { if (profession != 794) { uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang"); text = "Mobile-QuestExclamationIcon"; } else { uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-archaeology"); text = "Mobile-Archaeology"; } } else { uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-inscription"); text = "Mobile-Inscription"; } } else { uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-jewelcrafting"); text = "Mobile-Jewelcrafting"; } } else { uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-skinning"); text = "Mobile-Skinning"; } } else { uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-fishing"); text = "Mobile-Fishing"; } } else { uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-enchanting"); text = "Mobile-Enchanting"; } } else { uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-engineering"); text = "Mobile-Engineering"; } } else { uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-tailoring"); text = "Mobile-Tailoring"; } } else { uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-alchemy"); text = "Mobile-Alchemy"; } } else { uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-firstaid"); text = "Mobile-FirstAid"; } } else { uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-leatherworking"); text = "Mobile-Leatherworking"; } } else { uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-blacksmithing"); text = "Mobile-Blacksmithing"; } break; case 185: uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-cooking"); text = "Mobile-Cooking"; break; case 186: uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-mining"); text = "Mobile-Mining"; break; } goto IL_70A; } case 3: uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-pvp-ffa"); text = "Mobile-PVP"; goto IL_70A; case 4: uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-petbattle"); text = "Mobile-Pets"; goto IL_70A; } uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang"); text = "Mobile-QuestExclamationIcon"; IL_70A: if (!this.m_showLootIconInsteadOfMain) { if (text != null) { this.m_main.sprite = Resources.Load <Sprite>("NewWorldQuest/" + text); } else if (uitextureAtlasMemberID > 0) { this.m_main.sprite = TextureAtlas.instance.GetAtlasSprite(uitextureAtlasMemberID); this.m_main.SetNativeSize(); } } }
public void InitReward(MissionRewardDisplay.RewardType rewardType, int rewardID, int rewardQuantity, int itemContext, int iconFileDataID = 0) { if (rewardType == MissionRewardDisplay.RewardType.faction) { return; } this.ClearResults(); this.m_rewardType = rewardType; this.m_rewardID = rewardID; this.m_rewardQuantity = rewardQuantity; this.m_itemContext = itemContext; if (this.m_iconErrorText != null) { this.m_iconErrorText.get_gameObject().SetActive(false); } switch (this.m_rewardType) { case MissionRewardDisplay.RewardType.item: { Sprite sprite = null; ItemRec record = StaticDB.itemDB.GetRecord(this.m_rewardID); if (iconFileDataID > 0) { sprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, iconFileDataID); } else if (record != null) { sprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, record.IconFileDataID); } if (sprite != null) { this.m_rewardIcon.set_sprite(sprite); } else if (this.m_iconErrorText != null) { this.m_iconErrorText.get_gameObject().SetActive(true); this.m_iconErrorText.set_text(string.Empty + iconFileDataID); } if (this.m_rewardName != null) { if (record != null) { this.m_rewardName.set_text(record.Display); this.m_rewardName.set_color(GeneralHelpers.GetQualityColor(record.OverallQualityID)); } else { this.m_rewardName.set_text("Unknown Item " + this.m_rewardID); } } if (this.m_isExpandedDisplay) { this.m_rewardQuantityText.set_text((this.m_rewardQuantity <= 1) ? string.Empty : this.m_rewardQuantity.ToString("N0")); } break; } case MissionRewardDisplay.RewardType.gold: this.m_rewardIcon.set_sprite(Resources.Load <Sprite>("MiscIcons/INV_Misc_Coin_01")); if (this.m_isExpandedDisplay) { this.m_rewardQuantityText.set_text(string.Empty); this.m_rewardName.set_text((this.m_rewardQuantity <= 1) ? string.Empty : this.m_rewardQuantity.ToString("N0")); } break; case MissionRewardDisplay.RewardType.followerXP: this.m_rewardIcon.set_sprite(GeneralHelpers.GetLocalizedFollowerXpIcon()); this.m_rewardQuantityText.set_text(string.Empty); if (this.m_rewardName != null && this.m_isExpandedDisplay) { this.m_rewardName.set_text((this.m_rewardQuantity <= 1) ? string.Empty : (this.m_rewardQuantity.ToString("N0") + " " + StaticDB.GetString("XP2", "XP"))); } break; case MissionRewardDisplay.RewardType.currency: { Sprite sprite2 = GeneralHelpers.LoadCurrencyIcon(this.m_rewardID); if (sprite2 != null) { this.m_rewardIcon.set_sprite(sprite2); } else { this.m_iconErrorText.get_gameObject().SetActive(true); this.m_iconErrorText.set_text("c " + this.m_rewardID); } if (this.m_isExpandedDisplay) { CurrencyTypesRec record2 = StaticDB.currencyTypesDB.GetRecord(rewardID); if (record2 != null) { this.m_rewardName.set_text(record2.Name); } else { this.m_rewardName.set_text(string.Empty); } this.m_rewardQuantityText.set_text((this.m_rewardQuantity <= 1) ? string.Empty : this.m_rewardQuantity.ToString("N0")); } break; } } if (!this.m_isExpandedDisplay) { this.m_rewardQuantityText.set_text((this.m_rewardQuantity <= 1) ? string.Empty : this.m_rewardQuantity.ToString("N0")); } }
public void InitReward(MissionRewardDisplay.RewardType rewardType, int rewardID, int rewardQuantity, int itemContext, int iconFileDataID = 0) { if (rewardType == MissionRewardDisplay.RewardType.faction) { return; } this.ClearResults(); this.m_rewardType = rewardType; this.m_rewardID = rewardID; this.m_rewardQuantity = rewardQuantity; this.m_itemContext = itemContext; if (this.m_iconErrorText != null) { this.m_iconErrorText.gameObject.SetActive(false); } switch (this.m_rewardType) { case MissionRewardDisplay.RewardType.item: { Sprite sprite = null; ItemRec record = StaticDB.itemDB.GetRecord(this.m_rewardID); if (iconFileDataID > 0) { sprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, iconFileDataID); } else if (record != null) { sprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, record.IconFileDataID); } if (sprite != null) { this.m_rewardIcon.sprite = sprite; } else if (this.m_iconErrorText != null) { this.m_iconErrorText.gameObject.SetActive(true); this.m_iconErrorText.text = string.Empty + iconFileDataID; } if (this.m_rewardName != null) { if (record != null) { this.m_rewardName.text = record.Display; this.m_rewardName.color = GeneralHelpers.GetQualityColor(record.OverallQualityID); } else { this.m_rewardName.text = "Unknown Item " + this.m_rewardID; } } if (this.m_isExpandedDisplay) { this.m_rewardQuantityText.text = ((this.m_rewardQuantity <= 1) ? string.Empty : this.m_rewardQuantity.ToString("N0", MobileDeviceLocale.GetCultureInfoLocale())); } break; } case MissionRewardDisplay.RewardType.gold: this.m_rewardIcon.sprite = Resources.Load <Sprite>("MiscIcons/INV_Misc_Coin_01"); if (this.m_isExpandedDisplay) { this.m_rewardQuantityText.text = string.Empty; this.m_rewardName.text = ((this.m_rewardQuantity <= 1) ? string.Empty : this.m_rewardQuantity.ToString("N0", MobileDeviceLocale.GetCultureInfoLocale())); } break; case MissionRewardDisplay.RewardType.followerXP: this.m_rewardIcon.sprite = GeneralHelpers.GetLocalizedFollowerXpIcon(); this.m_rewardQuantityText.text = string.Empty; if (this.m_rewardName != null && this.m_isExpandedDisplay) { this.m_rewardName.text = ((this.m_rewardQuantity <= 1) ? string.Empty : (this.m_rewardQuantity.ToString("N0", MobileDeviceLocale.GetCultureInfoLocale()) + " " + StaticDB.GetString("XP2", "XP"))); } break; case MissionRewardDisplay.RewardType.currency: { Sprite sprite2 = CurrencyContainerDB.LoadCurrencyContainerIcon(this.m_rewardID, this.m_rewardQuantity); if (sprite2 != null) { this.m_rewardIcon.sprite = sprite2; } else { this.m_iconErrorText.gameObject.SetActive(true); this.m_iconErrorText.text = "c " + this.m_rewardID; } if (this.m_isExpandedDisplay) { CurrencyTypesRec record2 = StaticDB.currencyTypesDB.GetRecord(rewardID); if (record2 != null) { CurrencyContainerRec currencyContainerRec = CurrencyContainerDB.CheckAndGetValidCurrencyContainer(this.m_rewardID, this.m_rewardQuantity); if (currencyContainerRec != null) { this.m_rewardName.text = currencyContainerRec.ContainerName; this.m_rewardName.color = GeneralHelpers.GetQualityColor((int)currencyContainerRec.ContainerQuality); this.m_rewardQuantityText.text = string.Empty; } else { this.m_rewardName.text = record2.Name; this.m_rewardQuantityText.text = ((this.m_rewardQuantity <= 1) ? string.Empty : this.m_rewardQuantity.ToString("N0", MobileDeviceLocale.GetCultureInfoLocale())); } } else { this.m_rewardName.text = string.Empty; this.m_rewardQuantityText.text = ((this.m_rewardQuantity <= 1) ? string.Empty : this.m_rewardQuantity.ToString("N0", MobileDeviceLocale.GetCultureInfoLocale())); } } else { CurrencyTypesRec record3 = StaticDB.currencyTypesDB.GetRecord(rewardID); if (record3 != null) { CurrencyContainerRec currencyContainerRec2 = CurrencyContainerDB.CheckAndGetValidCurrencyContainer(this.m_rewardID, this.m_rewardQuantity); if (currencyContainerRec2 != null && currencyContainerRec2.ContainerQuality > 0 && this.m_qualityBorder != null) { this.m_qualityBorder.color = GeneralHelpers.GetQualityColor((int)currencyContainerRec2.ContainerQuality); } } } break; } } if (!this.m_isExpandedDisplay) { CurrencyContainerRec currencyContainerRec3 = CurrencyContainerDB.CheckAndGetValidCurrencyContainer(this.m_rewardID, rewardQuantity); if (currencyContainerRec3 != null) { this.m_rewardQuantityText.text = string.Empty; } else { this.m_rewardQuantityText.text = ((this.m_rewardQuantity <= 1) ? string.Empty : this.m_rewardQuantity.ToString("N0", MobileDeviceLocale.GetCultureInfoLocale())); } } }
public void SetQuestID(int questID) { this.m_questID = questID; base.gameObject.name = "WorldQuest " + this.m_questID; if (!WorldQuestData.WorldQuestDictionary.ContainsKey(this.m_questID)) { return; } WrapperWorldQuest wrapperWorldQuest = WorldQuestData.WorldQuestDictionary[this.m_questID]; if (wrapperWorldQuest.Items == null) { return; } this.m_quantityArea.gameObject.SetActive(false); bool flag = false; foreach (WrapperWorldQuestReward wrapperWorldQuestReward in wrapperWorldQuest.Items) { ItemRec record = StaticDB.itemDB.GetRecord(wrapperWorldQuestReward.RecordID); if (record == null) { Debug.LogWarning(string.Concat(new object[] { "Invalid Item ID ", wrapperWorldQuestReward.RecordID, " from Quest ID ", this.m_questID, ". Ignoring for loot quality check." })); } else { flag = true; if (record.OverallQualityID > (int)this.m_lootQuality) { this.m_lootQuality = (ITEM_QUALITY)record.OverallQualityID; } SpellEffectRec spellEffectRec2 = StaticDB.itemEffectDB.GetRecordsByParentID(wrapperWorldQuestReward.RecordID).SelectMany((ItemEffectRec itemEffectRec) => StaticDB.spellEffectDB.GetRecordsByParentID(itemEffectRec.SpellID)).FirstOrDefault((SpellEffectRec spellEffectRec) => spellEffectRec.Effect == 240); this.m_main.sprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, wrapperWorldQuestReward.FileDataID); this.m_itemID = wrapperWorldQuestReward.RecordID; this.m_itemContext = wrapperWorldQuestReward.ItemContext; this.m_itemInstance = wrapperWorldQuestReward.ItemInstance; if (!ItemStatCache.instance.HasItemStats(wrapperWorldQuestReward.RecordID)) { ItemStatCache instance = ItemStatCache.instance; instance.ItemStatCacheUpdateAction = (Action <int, int, WrapperItemStats, WrapperItemInstance?>)Delegate.Combine(instance.ItemStatCacheUpdateAction, new Action <int, int, WrapperItemStats, WrapperItemInstance?>(this.UpdateLootQuality)); } WrapperItemStats?itemStats = ItemStatCache.instance.GetItemStats(wrapperWorldQuestReward.RecordID, wrapperWorldQuestReward.ItemContext, wrapperWorldQuestReward.ItemInstance); if (itemStats != null) { this.UpdateLootQualityImpl(itemStats.Value); } this.ShowILVL(); } } if (!flag) { if (wrapperWorldQuest.Currencies.Count > 0) { foreach (WrapperWorldQuestReward wrapperWorldQuestReward2 in wrapperWorldQuest.Currencies) { CurrencyTypesRec record2 = StaticDB.currencyTypesDB.GetRecord(wrapperWorldQuestReward2.RecordID); if (record2 != null) { int num = ((record2.Flags & 8u) == 0u) ? 1 : 100; this.m_main.sprite = CurrencyContainerDB.LoadCurrencyContainerIcon(wrapperWorldQuestReward2.RecordID, wrapperWorldQuestReward2.Quantity / num); CurrencyContainerRec currencyContainerRec = CurrencyContainerDB.CheckAndGetValidCurrencyContainer(wrapperWorldQuestReward2.RecordID, wrapperWorldQuestReward2.Quantity / num); if (currencyContainerRec != null) { this.m_lootQuality = (ITEM_QUALITY)currencyContainerRec.ContainerQuality; } } if (AdventureMapPanel.instance.IsFilterEnabled(MapFilterType.OrderResources)) { this.m_quantityArea.gameObject.SetActive(true); this.m_quantity.text = wrapperWorldQuestReward2.Quantity.ToString(); } } } else if (wrapperWorldQuest.Money > 0) { this.m_main.sprite = Resources.Load <Sprite>("MiscIcons/INV_Misc_Coin_01"); if (AdventureMapPanel.instance.IsFilterEnabled(MapFilterType.Gold)) { this.m_quantityArea.gameObject.SetActive(true); this.m_quantity.text = string.Empty + wrapperWorldQuest.Money / 100 / 100; } } else if (wrapperWorldQuest.Experience > 0) { this.m_main.sprite = GeneralHelpers.GetLocalizedFollowerXpIcon(); } } this.m_endTime = wrapperWorldQuest.EndTime; int areaID = 0; WorldMapAreaRec record3 = StaticDB.worldMapAreaDB.GetRecord(wrapperWorldQuest.WorldMapAreaID); if (record3 != null) { areaID = record3.AreaID; } this.m_areaID = areaID; QuestInfoRec record4 = StaticDB.questInfoDB.GetRecord(wrapperWorldQuest.QuestInfoID); if (record4 == null) { return; } bool active = (record4.Modifiers & 2) != 0; this.m_dragonFrame.gameObject.SetActive(active); bool active2 = record4.Type == 12; if (this.m_lootQuality < ITEM_QUALITY.STANDARD) { this.m_normalGlow.color = this.WORLD_QUEST_GLOW_COLOR_DEFAULT; } if (this.m_lootQuality > ITEM_QUALITY.STANDARD) { string text = "#" + GeneralHelpers.GetItemQualityColor((int)this.m_lootQuality); Color color; if (ColorUtility.TryParseHtmlString(text, ref color)) { this.m_normalGlow.color = color; } } if (this.m_assaultEffect != null) { this.m_assaultEffect.SetActive(active2); } bool flag2 = (record4.Modifiers & 1) != 0; if (flag2 && record4.Type != 3) { this.m_background.sprite = Resources.Load <Sprite>("NewWorldQuest/Mobile-RareQuest"); } bool flag3 = (record4.Modifiers & 4) != 0; if (flag3 && record4.Type != 3) { this.m_background.sprite = Resources.Load <Sprite>("NewWorldQuest/Mobile-EpicQuest"); } }
public void UpdateWorldQuests() { bool flag; bool flag1; bool flag2; bool flag3; bool flag4; bool flag5; bool flag6; bool flag7; bool flag8; bool flag9; AdventureMapPanel.ClearWorldQuestArea(this.m_missionAndWorldQuestArea_KulTiras); AdventureMapPanel.ClearWorldQuestArea(this.m_missionAndWorldQuestArea_Zandalar); foreach (WrapperWorldQuest value in WorldQuestData.WorldQuestDictionary.Values) { if (value.StartLocationMapID != 1220 && value.StartLocationMapID != 1669) { if (!this.IsFilterEnabled(MapFilterType.All)) { bool questInfoID = false; if (!questInfoID && this.IsFilterEnabled(MapFilterType.Azerite)) { questInfoID = questInfoID | value.Currencies.Any <WrapperWorldQuestReward>((WrapperWorldQuestReward reward) => reward.RecordID == 1553); } if (!questInfoID && this.IsFilterEnabled(MapFilterType.OrderResources)) { questInfoID = questInfoID | value.Currencies.Any <WrapperWorldQuestReward>((WrapperWorldQuestReward reward) => reward.RecordID == 1560); } if (!questInfoID && this.IsFilterEnabled(MapFilterType.Gold) && value.Money > 0) { questInfoID = true; } if (!questInfoID && this.IsFilterEnabled(MapFilterType.Gear)) { questInfoID = questInfoID | value.Items.Any <WrapperWorldQuestReward>((WrapperWorldQuestReward reward) => { ItemRec record = StaticDB.itemDB.GetRecord(reward.RecordID); return(record == null ? false : (record.ClassID == 2 || record.ClassID == 3 || record.ClassID == 4 ? true : record.ClassID == 6)); }); } if (!questInfoID && this.IsFilterEnabled(MapFilterType.ProfessionMats)) { questInfoID = questInfoID | value.Items.Any <WrapperWorldQuestReward>((WrapperWorldQuestReward reward) => { ItemRec record = StaticDB.itemDB.GetRecord(reward.RecordID); return(record == null ? false : record.ClassID == 7); }); } if (!questInfoID && this.IsFilterEnabled(MapFilterType.PetBattles)) { questInfoID = questInfoID | value.QuestInfoID == 115; } if (!questInfoID && this.IsFilterEnabled(MapFilterType.Reputation)) { questInfoID = questInfoID | value.Currencies.Any <WrapperWorldQuestReward>((WrapperWorldQuestReward reward) => { CurrencyTypesRec record = StaticDB.currencyTypesDB.GetRecord(reward.RecordID); return(record == null ? false : record.FactionID != 0); }); } if (!questInfoID && this.IsFilterEnabled(MapFilterType.Bounty_ChampionsOfAzeroth)) { bool flag10 = questInfoID; if (!PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(value.QuestID)) { flag9 = false; } else { WrapperBountiesByWorldQuest item = PersistentBountyData.bountiesByWorldQuestDictionary[value.QuestID]; flag9 = item.BountyQuestIDs.Any <int>((int questID) => questID == 50562); } questInfoID = flag10 | flag9; } if (!questInfoID && this.IsFilterEnabled(MapFilterType.Bounty_ZandalariEmpire)) { bool flag11 = questInfoID; if (!PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(value.QuestID)) { flag8 = false; } else { WrapperBountiesByWorldQuest wrapperBountiesByWorldQuest = PersistentBountyData.bountiesByWorldQuestDictionary[value.QuestID]; flag8 = wrapperBountiesByWorldQuest.BountyQuestIDs.Any <int>((int questID) => questID == 50598); } questInfoID = flag11 | flag8; } if (!questInfoID && this.IsFilterEnabled(MapFilterType.Bounty_ProudmooreAdmiralty)) { bool flag12 = questInfoID; if (!PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(value.QuestID)) { flag7 = false; } else { WrapperBountiesByWorldQuest item1 = PersistentBountyData.bountiesByWorldQuestDictionary[value.QuestID]; flag7 = item1.BountyQuestIDs.Any <int>((int questID) => questID == 50599); } questInfoID = flag12 | flag7; } if (!questInfoID && this.IsFilterEnabled(MapFilterType.Bounty_OrderOfEmbers)) { bool flag13 = questInfoID; if (!PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(value.QuestID)) { flag6 = false; } else { WrapperBountiesByWorldQuest wrapperBountiesByWorldQuest1 = PersistentBountyData.bountiesByWorldQuestDictionary[value.QuestID]; flag6 = wrapperBountiesByWorldQuest1.BountyQuestIDs.Any <int>((int questID) => questID == 50600); } questInfoID = flag13 | flag6; } if (!questInfoID && this.IsFilterEnabled(MapFilterType.Bounty_StormsWake)) { bool flag14 = questInfoID; if (!PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(value.QuestID)) { flag5 = false; } else { WrapperBountiesByWorldQuest item2 = PersistentBountyData.bountiesByWorldQuestDictionary[value.QuestID]; flag5 = item2.BountyQuestIDs.Any <int>((int questID) => questID == 50601); } questInfoID = flag14 | flag5; } if (!questInfoID && this.IsFilterEnabled(MapFilterType.Bounty_TalanjisExpedition)) { bool flag15 = questInfoID; if (!PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(value.QuestID)) { flag4 = false; } else { WrapperBountiesByWorldQuest wrapperBountiesByWorldQuest2 = PersistentBountyData.bountiesByWorldQuestDictionary[value.QuestID]; flag4 = wrapperBountiesByWorldQuest2.BountyQuestIDs.Any <int>((int questID) => questID == 50602); } questInfoID = flag15 | flag4; } if (!questInfoID && this.IsFilterEnabled(MapFilterType.Bounty_Voldunai)) { bool flag16 = questInfoID; if (!PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(value.QuestID)) { flag3 = false; } else { WrapperBountiesByWorldQuest item3 = PersistentBountyData.bountiesByWorldQuestDictionary[value.QuestID]; flag3 = item3.BountyQuestIDs.Any <int>((int questID) => questID == 50603); } questInfoID = flag16 | flag3; } if (!questInfoID && this.IsFilterEnabled(MapFilterType.Bounty_TortollanSeekers)) { bool flag17 = questInfoID; if (!PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(value.QuestID)) { flag2 = false; } else { WrapperBountiesByWorldQuest wrapperBountiesByWorldQuest3 = PersistentBountyData.bountiesByWorldQuestDictionary[value.QuestID]; flag2 = wrapperBountiesByWorldQuest3.BountyQuestIDs.Any <int>((int questID) => questID == 50604); } questInfoID = flag17 | flag2; } if (!questInfoID && this.IsFilterEnabled(MapFilterType.Bounty_AllianceWarEffort)) { bool flag18 = questInfoID; if (!PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(value.QuestID)) { flag1 = false; } else { WrapperBountiesByWorldQuest item4 = PersistentBountyData.bountiesByWorldQuestDictionary[value.QuestID]; flag1 = item4.BountyQuestIDs.Any <int>((int questID) => questID == 50605); } questInfoID = flag18 | flag1; } if (!questInfoID && this.IsFilterEnabled(MapFilterType.Bounty_HordeWarEffort)) { bool flag19 = questInfoID; if (!PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(value.QuestID)) { flag = false; } else { WrapperBountiesByWorldQuest wrapperBountiesByWorldQuest4 = PersistentBountyData.bountiesByWorldQuestDictionary[value.QuestID]; flag = wrapperBountiesByWorldQuest4.BountyQuestIDs.Any <int>((int questID) => questID == 50606); } questInfoID = flag19 | flag; } if (!questInfoID) { continue; } } GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(AdventureMapPanel.instance.m_AdvMapWorldQuestPrefab); if (value.StartLocationMapID == 1642) { gameObject.transform.SetParent(this.m_missionAndWorldQuestArea_Zandalar.transform, false); float single = 0.152715057f; float single1 = 1250.88025f; float single2 = 697.2115f; if (value.WorldMapAreaID == 863) { single -= 0.02f; } else if (value.WorldMapAreaID == 864) { single1 += 60f; single2 -= 20f; } this.SetupWorldQuestIcon(value, gameObject, single1, single2, single); } else if (value.StartLocationMapID == 1643) { gameObject.transform.SetParent(this.m_missionAndWorldQuestArea_KulTiras.transform, false); this.SetupWorldQuestIcon(value, gameObject, 1150.88025f, 497.2115f, 0.152715057f); } gameObject.GetComponent <AdventureMapWorldQuest>().SetQuestID(value.QuestID); StackableMapIcon component = gameObject.GetComponent <StackableMapIcon>(); if (component == null) { continue; } component.RegisterWithManager(value.StartLocationMapID); } } this.m_pinchZoomContentManager.ForceZoomFactorChanged(); }
public void SetBounty(WrapperWorldQuestBounty bounty) { Sprite sprite; this.m_bounty = bounty; Sprite sprite1 = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, bounty.IconFileDataID); if (sprite1 == null) { this.m_bountyIconInvalidFileDataID.gameObject.SetActive(true); this.m_bountyIconInvalidFileDataID.text = string.Concat(string.Empty, bounty.IconFileDataID); } else { this.m_bountyIconInvalidFileDataID.gameObject.SetActive(false); this.m_bountyIcon.sprite = sprite1; } QuestV2Rec record = StaticDB.questDB.GetRecord(bounty.QuestID); if (record == null) { this.m_bountyName.text = string.Concat("Unknown Quest ID ", bounty.QuestID); this.m_bountyDescription.text = string.Concat("Unknown Quest ID ", bounty.QuestID); } else { this.m_bountyName.text = record.QuestTitle; this.m_bountyDescription.text = string.Concat(new object[] { string.Empty, bounty.NumCompleted, "/", bounty.NumNeeded, " ", record.LogDescription }); } this.m_timeLeft.text = StaticDB.GetString("TIME_LEFT", "Time Left: PH"); RectTransform[] componentsInChildren = this.m_bountyQuestIconArea.GetComponentsInChildren <RectTransform>(true); for (int i = 0; i < (int)componentsInChildren.Length; i++) { RectTransform rectTransform = componentsInChildren[i]; if (rectTransform != null && rectTransform.gameObject != this.m_bountyQuestIconArea.gameObject) { rectTransform.SetParent(null); UnityEngine.Object.Destroy(rectTransform.gameObject); } } for (int j = 0; j < bounty.NumCompleted; j++) { GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(this.m_bountyQuestCompleteIconPrefab); gameObject.transform.SetParent(this.m_bountyQuestIconArea.transform, false); } for (int k = 0; k < bounty.NumNeeded - bounty.NumCompleted; k++) { GameObject gameObject1 = UnityEngine.Object.Instantiate <GameObject>(this.m_bountyQuestAvailableIconPrefab); gameObject1.transform.SetParent(this.m_bountyQuestIconArea.transform, false); } this.UpdateTimeRemaining(); bounty.Items.RemoveAll((WrapperWorldQuestReward item) => (item.RecordID == 157831 ? true : item.RecordID == 1500)); if (bounty.Items.Count > 0 && StaticDB.itemDB.GetRecord(bounty.Items[0].RecordID) != null) { WrapperWorldQuestReward wrapperWorldQuestReward = bounty.Items[0]; Sprite sprite2 = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, wrapperWorldQuestReward.FileDataID); this.m_rewardInfo.SetReward(MissionRewardDisplay.RewardType.item, wrapperWorldQuestReward.RecordID, wrapperWorldQuestReward.Quantity, sprite2, wrapperWorldQuestReward.ItemContext); } else if (bounty.Money > 1000000) { Sprite sprite3 = Resources.Load <Sprite>("MiscIcons/INV_Misc_Coin_01"); this.m_rewardInfo.SetGold(bounty.Money / 10000, sprite3); } else if (bounty.Currencies.Count > 1) { int num = 0; foreach (WrapperWorldQuestReward currency in bounty.Currencies) { CurrencyTypesRec currencyTypesRec = StaticDB.currencyTypesDB.GetRecord(currency.RecordID); if (currency.RecordID == 1553 && currencyTypesRec != null) { if (CurrencyContainerDB.CheckAndGetValidCurrencyContainer(currency.RecordID, currency.Quantity) == null) { sprite = GeneralHelpers.LoadCurrencyIcon(currency.RecordID); int quantity = currency.Quantity / ((currencyTypesRec.Flags & 8) == 0 ? 1 : 100); if (quantity <= num) { continue; } num = quantity; this.m_rewardInfo.SetCurrency(currency.RecordID, num, sprite); } else { sprite = CurrencyContainerDB.LoadCurrencyContainerIcon(currency.RecordID, currency.Quantity); int quantity1 = currency.Quantity / ((currencyTypesRec.Flags & 8) == 0 ? 1 : 100); if (quantity1 > num) { num = quantity1; this.m_rewardInfo.SetCurrency(currency.RecordID, num, sprite); } } } } } }