Example #1
0
        public void SetQuestID(int questID)
        {
            Color color;

            this.m_questID       = questID;
            base.gameObject.name = string.Concat("WorldQuest ", this.m_questID);
            if (!WorldQuestData.WorldQuestDictionary.ContainsKey(this.m_questID))
            {
                return;
            }
            WrapperWorldQuest item = WorldQuestData.WorldQuestDictionary[this.m_questID];

            if (item.Items == null)
            {
                return;
            }
            this.m_quantityArea.gameObject.SetActive(false);
            bool flag = false;

            foreach (WrapperWorldQuestReward wrapperWorldQuestReward in item.Items)
            {
                ItemRec record = StaticDB.itemDB.GetRecord(wrapperWorldQuestReward.RecordID);
                if (record != null)
                {
                    flag = true;
                    if (record.OverallQualityID > (int)this.m_lootQuality)
                    {
                        this.m_lootQuality = (ITEM_QUALITY)record.OverallQualityID;
                    }
                    if (!this.m_showLootIconInsteadOfMain)
                    {
                        continue;
                    }
                    StaticDB.itemEffectDB.GetRecordsByParentID(wrapperWorldQuestReward.RecordID).SelectMany <ItemEffectRec, SpellEffectRec>((ItemEffectRec itemEffectRec) => StaticDB.spellEffectDB.GetRecordsByParentID(itemEffectRec.SpellID)).FirstOrDefault <SpellEffectRec>((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.ShowILVL();
                }
                else
                {
                    Debug.LogWarning(string.Concat(new object[] { "Invalid Item ID ", wrapperWorldQuestReward.RecordID, " from Quest ID ", this.m_questID, ". Ignoring for loot quality check." }));
                }
            }
            if (!flag && this.m_showLootIconInsteadOfMain)
            {
                if (item.Currencies.Count > 0)
                {
                    foreach (WrapperWorldQuestReward currency in item.Currencies)
                    {
                        if (StaticDB.currencyTypesDB.GetRecord(currency.RecordID) != null)
                        {
                            this.m_main.sprite = CurrencyContainerDB.LoadCurrencyContainerIcon(currency.RecordID, currency.Quantity);
                            CurrencyContainerRec currencyContainerRec = CurrencyContainerDB.CheckAndGetValidCurrencyContainer(currency.RecordID, currency.Quantity);
                            if (currencyContainerRec != null)
                            {
                                this.m_lootQuality = (ITEM_QUALITY)currencyContainerRec.ContainerQuality;
                            }
                        }
                        if (!AdventureMapPanel.instance.IsFilterEnabled(MapFilterType.OrderResources))
                        {
                            continue;
                        }
                        this.m_quantityArea.gameObject.SetActive(true);
                        this.m_quantity.text = currency.Quantity.ToString();
                    }
                }
                else if (item.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.Concat(string.Empty, item.Money / 100 / 100);
                    }
                }
                else if (item.Experience > 0)
                {
                    this.m_main.sprite = GeneralHelpers.GetLocalizedFollowerXpIcon();
                }
            }
            this.m_endTime = item.EndTime;
            int             areaID          = 0;
            WorldMapAreaRec worldMapAreaRec = StaticDB.worldMapAreaDB.GetRecord(item.WorldMapAreaID);

            if (worldMapAreaRec != null)
            {
                areaID = worldMapAreaRec.AreaID;
            }
            this.m_areaID = areaID;
            QuestInfoRec questInfoRec = StaticDB.questInfoDB.GetRecord(item.QuestInfoID);

            if (questInfoRec == null)
            {
                return;
            }
            bool modifiers = (questInfoRec.Modifiers & 2) != 0;

            this.m_dragonFrame.gameObject.SetActive(modifiers);
            bool type = questInfoRec.Type == 7;

            this.m_normalGlow.gameObject.SetActive(!type);
            if (this.m_lootQuality < ITEM_QUALITY.STANDARD)
            {
                this.m_normalGlow.color = this.WORLD_QUEST_GLOW_COLOR_DEFAULT;
            }
            if (this.m_lootQuality > ITEM_QUALITY.STANDARD && ColorUtility.TryParseHtmlString(string.Concat("#", GeneralHelpers.GetItemQualityColor((int)this.m_lootQuality)), out color))
            {
                this.m_normalGlow.color = color;
            }
            this.m_legionAssaultGlow.gameObject.SetActive(type);
            if ((questInfoRec.Modifiers & 1) != 0 && questInfoRec.Type != 3)
            {
                this.m_background.sprite = Resources.Load <Sprite>("NewWorldQuest/Mobile-RareQuest");
            }
            if ((questInfoRec.Modifiers & 4) != 0 && questInfoRec.Type != 3)
            {
                this.m_background.sprite = Resources.Load <Sprite>("NewWorldQuest/Mobile-EpicQuest");
            }
            int    uITextureAtlasMemberID = 0;
            string str = null;

            switch (questInfoRec.Type)
            {
            case 1:
            {
                int profession = questInfoRec.Profession;
                switch (profession)
                {
                case 182:
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-herbalism");
                    str = "Mobile-Herbalism";
                    break;
                }

                case 185:
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-cooking");
                    str = "Mobile-Cooking";
                    break;
                }

                case 186:
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-mining");
                    str = "Mobile-Mining";
                    break;
                }

                default:
                {
                    if (profession == 164)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-blacksmithing");
                        str = "Mobile-Blacksmithing";
                        break;
                    }
                    else if (profession == 165)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-leatherworking");
                        str = "Mobile-Leatherworking";
                        break;
                    }
                    else if (profession == 129)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-firstaid");
                        str = "Mobile-FirstAid";
                        break;
                    }
                    else if (profession == 171)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-alchemy");
                        str = "Mobile-Alchemy";
                        break;
                    }
                    else if (profession == 197)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-tailoring");
                        str = "Mobile-Tailoring";
                        break;
                    }
                    else if (profession == 202)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-engineering");
                        str = "Mobile-Engineering";
                        break;
                    }
                    else if (profession == 333)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-enchanting");
                        str = "Mobile-Enchanting";
                        break;
                    }
                    else if (profession == 356)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-fishing");
                        str = "Mobile-Fishing";
                        break;
                    }
                    else if (profession == 393)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-skinning");
                        str = "Mobile-Skinning";
                        break;
                    }
                    else if (profession == 755)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-jewelcrafting");
                        str = "Mobile-Jewelcrafting";
                        break;
                    }
                    else if (profession == 773)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-inscription");
                        str = "Mobile-Inscription";
                        break;
                    }
                    else if (profession == 794)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-archaeology");
                        str = "Mobile-Archaeology";
                        break;
                    }
                    else
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang");
                        str = "Mobile-QuestExclamationIcon";
                        break;
                    }
                }
                }
                break;
            }

            case 2:
            {
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang");
                str = "Mobile-QuestExclamationIcon";
                break;
            }

            case 3:
            {
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-pvp-ffa");
                str = "Mobile-PVP";
                break;
            }

            case 4:
            {
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-petbattle");
                str = "Mobile-Pets";
                break;
            }

            default:
            {
                goto case 2;
            }
            }
            if (!this.m_showLootIconInsteadOfMain)
            {
                if (str != null)
                {
                    this.m_main.sprite = Resources.Load <Sprite>(string.Concat("NewWorldQuest/", str));
                }
                else if (uITextureAtlasMemberID > 0)
                {
                    this.m_main.sprite = TextureAtlas.instance.GetAtlasSprite(uITextureAtlasMemberID);
                    this.m_main.SetNativeSize();
                }
            }
        }
Example #2
0
        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 SetQuest(int questID)
    {
        this.m_expiringSoon.get_gameObject().SetActive(false);
        this.m_questID = questID;
        Transform[] componentsInChildren = this.m_worldQuestObjectiveRoot.GetComponentsInChildren <Transform>(true);
        Transform[] array = componentsInChildren;
        for (int i = 0; i < array.Length; i++)
        {
            Transform transform = array[i];
            if (transform != null && transform != this.m_worldQuestObjectiveRoot.get_transform())
            {
                Object.DestroyImmediate(transform.get_gameObject());
            }
        }
        MobileWorldQuest mobileWorldQuest = (MobileWorldQuest)WorldQuestData.worldQuestDictionary.get_Item(this.m_questID);

        this.m_worldQuestNameText.set_text(mobileWorldQuest.QuestTitle);
        using (IEnumerator <MobileWorldQuestObjective> enumerator = Enumerable.AsEnumerable <MobileWorldQuestObjective>(mobileWorldQuest.Objective).GetEnumerator())
        {
            while (enumerator.MoveNext())
            {
                MobileWorldQuestObjective current = enumerator.get_Current();
                GameObject gameObject             = Object.Instantiate <GameObject>(this.m_worldQuestObjectiveDisplayPrefab);
                gameObject.get_transform().SetParent(this.m_worldQuestObjectiveRoot.get_transform(), false);
                Text component = gameObject.GetComponent <Text>();
                component.set_text("-" + current.Text);
            }
        }
        this.InitRewardInfoDisplay(mobileWorldQuest);
        this.m_endTime = (long)(mobileWorldQuest.EndTime - 900);
        QuestInfoRec record = StaticDB.questInfoDB.GetRecord(mobileWorldQuest.QuestInfoID);

        if (record == null)
        {
            return;
        }
        bool active = (record.Modifiers & 2) != 0;

        this.m_dragonFrame.get_gameObject().SetActive(active);
        this.m_background.set_sprite(Resources.Load <Sprite>("NewWorldQuest/Mobile-NormalQuest"));
        bool flag = (record.Modifiers & 1) != 0;

        if (flag && record.Type != 3)
        {
            this.m_background.set_sprite(Resources.Load <Sprite>("NewWorldQuest/Mobile-RareQuest"));
        }
        bool flag2 = (record.Modifiers & 4) != 0;

        if (flag2 && record.Type != 3)
        {
            this.m_background.set_sprite(Resources.Load <Sprite>("NewWorldQuest/Mobile-EpicQuest"));
        }
        int    uITextureAtlasMemberID;
        string text;

        switch (record.Type)
        {
        case 1:
        {
            int profession = record.Profession;
            switch (profession)
            {
            case 182:
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-herbalism");
                text = "Mobile-Herbalism";
                goto IL_46E;

            case 183:
            case 184:
IL_259:
                if (profession == 164)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-blacksmithing");
                    text = "Mobile-Blacksmithing";
                    goto IL_46E;
                }
                if (profession == 165)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-leatherworking");
                    text = "Mobile-Leatherworking";
                    goto IL_46E;
                }
                if (profession == 129)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-firstaid");
                    text = "Mobile-FirstAid";
                    goto IL_46E;
                }
                if (profession == 171)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-alchemy");
                    text = "Mobile-Alchemy";
                    goto IL_46E;
                }
                if (profession == 197)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-tailoring");
                    text = "Mobile-Tailoring";
                    goto IL_46E;
                }
                if (profession == 202)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-engineering");
                    text = "Mobile-Engineering";
                    goto IL_46E;
                }
                if (profession == 333)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-enchanting");
                    text = "Mobile-Enchanting";
                    goto IL_46E;
                }
                if (profession == 356)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-fishing");
                    text = "Mobile-Fishing";
                    goto IL_46E;
                }
                if (profession == 393)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-skinning");
                    text = "Mobile-Skinning";
                    goto IL_46E;
                }
                if (profession == 755)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-jewelcrafting");
                    text = "Mobile-Jewelcrafting";
                    goto IL_46E;
                }
                if (profession == 773)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-inscription");
                    text = "Mobile-Inscription";
                    goto IL_46E;
                }
                if (profession != 794)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang");
                    text = "Mobile-QuestExclamationIcon";
                    goto IL_46E;
                }
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-archaeology");
                text = "Mobile-Archaeology";
                goto IL_46E;

            case 185:
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-cooking");
                text = "Mobile-Cooking";
                goto IL_46E;

            case 186:
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-mining");
                text = "Mobile-Mining";
                goto IL_46E;
            }
            goto IL_259;
IL_46E:
            goto IL_4BB;
        }

        case 3:
            uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-pvp-ffa");
            text = "Mobile-PVP";
            goto IL_4BB;

        case 4:
            uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-petbattle");
            text = "Mobile-Pets";
            goto IL_4BB;
        }
        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang");
        text = "Mobile-QuestExclamationIcon";
IL_4BB:
        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();
        }
        this.UpdateTimeRemaining();
    }
    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();
            }
        }
    }
Example #5
0
    public void UpdateWorldQuests()
    {
        AdventureMapWorldQuest[] componentsInChildren = this.m_missionAndWorldQuestArea_BrokenIsles.GetComponentsInChildren <AdventureMapWorldQuest>(true);
        foreach (AdventureMapWorldQuest adventureMapWorldQuest in componentsInChildren)
        {
            StackableMapIcon component  = adventureMapWorldQuest.GetComponent <StackableMapIcon>();
            GameObject       gameObject = adventureMapWorldQuest.gameObject;
            if (component != null)
            {
                component.RemoveFromContainer();
            }
            if (gameObject != null)
            {
                Object.DestroyImmediate(adventureMapWorldQuest.gameObject);
            }
        }
        componentsInChildren = this.m_missionAndWorldQuestArea_Argus.GetComponentsInChildren <AdventureMapWorldQuest>(true);
        foreach (AdventureMapWorldQuest adventureMapWorldQuest2 in componentsInChildren)
        {
            StackableMapIcon component2  = adventureMapWorldQuest2.GetComponent <StackableMapIcon>();
            GameObject       gameObject2 = adventureMapWorldQuest2.gameObject;
            if (component2 != null)
            {
                component2.RemoveFromContainer();
            }
            if (gameObject2 != null)
            {
                Object.DestroyImmediate(adventureMapWorldQuest2.gameObject);
            }
        }
        IEnumerator enumerator = WorldQuestData.worldQuestDictionary.Values.GetEnumerator();

        try
        {
            while (enumerator.MoveNext())
            {
                object           obj = enumerator.Current;
                MobileWorldQuest mobileWorldQuest = (MobileWorldQuest)obj;
                if (!this.IsFilterEnabled(MapFilterType.All))
                {
                    bool matchesFilter = false;
                    if (this.IsFilterEnabled(MapFilterType.ArtifactPower))
                    {
                        foreach (MobileWorldQuestReward mobileWorldQuestReward in mobileWorldQuest.Item)
                        {
                            StaticDB.itemEffectDB.EnumRecordsByParentID(mobileWorldQuestReward.RecordID, delegate(ItemEffectRec itemEffectRec)
                            {
                                StaticDB.spellEffectDB.EnumRecordsByParentID(itemEffectRec.SpellID, delegate(SpellEffectRec spellEffectRec)
                                {
                                    if (spellEffectRec.Effect == 240)
                                    {
                                        matchesFilter = true;
                                        return(false);
                                    }
                                    return(true);
                                });
                                return(!matchesFilter);
                            });
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.OrderResources))
                    {
                        foreach (MobileWorldQuestReward mobileWorldQuestReward2 in mobileWorldQuest.Currency)
                        {
                            if (mobileWorldQuestReward2.RecordID == 1220)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Gold) && mobileWorldQuest.Money > 0)
                    {
                        matchesFilter = true;
                    }
                    if (this.IsFilterEnabled(MapFilterType.Gear))
                    {
                        foreach (MobileWorldQuestReward mobileWorldQuestReward3 in mobileWorldQuest.Item)
                        {
                            ItemRec record = StaticDB.itemDB.GetRecord(mobileWorldQuestReward3.RecordID);
                            if (record != null && (record.ClassID == 2 || record.ClassID == 3 || record.ClassID == 4 || record.ClassID == 6))
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.ProfessionMats))
                    {
                        foreach (MobileWorldQuestReward mobileWorldQuestReward4 in mobileWorldQuest.Item)
                        {
                            ItemRec record2 = StaticDB.itemDB.GetRecord(mobileWorldQuestReward4.RecordID);
                            if (record2 != null && record2.ClassID == 7)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.PetCharms))
                    {
                        foreach (MobileWorldQuestReward mobileWorldQuestReward5 in mobileWorldQuest.Item)
                        {
                            if (mobileWorldQuestReward5.RecordID == 116415)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Bounty_HighmountainTribes) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID))
                    {
                        MobileBountiesByWorldQuest mobileBountiesByWorldQuest = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary[mobileWorldQuest.QuestID];
                        for (int num2 = 0; num2 < mobileBountiesByWorldQuest.BountyQuestID.Length; num2++)
                        {
                            if (mobileBountiesByWorldQuest.BountyQuestID[num2] == 42233)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Bounty_CourtOfFarondis) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID))
                    {
                        MobileBountiesByWorldQuest mobileBountiesByWorldQuest2 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary[mobileWorldQuest.QuestID];
                        for (int num3 = 0; num3 < mobileBountiesByWorldQuest2.BountyQuestID.Length; num3++)
                        {
                            if (mobileBountiesByWorldQuest2.BountyQuestID[num3] == 42420)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Bounty_Dreamweavers) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID))
                    {
                        MobileBountiesByWorldQuest mobileBountiesByWorldQuest3 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary[mobileWorldQuest.QuestID];
                        for (int num4 = 0; num4 < mobileBountiesByWorldQuest3.BountyQuestID.Length; num4++)
                        {
                            if (mobileBountiesByWorldQuest3.BountyQuestID[num4] == 42170)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Bounty_Wardens) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID))
                    {
                        MobileBountiesByWorldQuest mobileBountiesByWorldQuest4 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary[mobileWorldQuest.QuestID];
                        for (int num5 = 0; num5 < mobileBountiesByWorldQuest4.BountyQuestID.Length; num5++)
                        {
                            if (mobileBountiesByWorldQuest4.BountyQuestID[num5] == 42422)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Bounty_Nightfallen) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID))
                    {
                        MobileBountiesByWorldQuest mobileBountiesByWorldQuest5 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary[mobileWorldQuest.QuestID];
                        for (int num6 = 0; num6 < mobileBountiesByWorldQuest5.BountyQuestID.Length; num6++)
                        {
                            if (mobileBountiesByWorldQuest5.BountyQuestID[num6] == 42421)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Bounty_Valarjar) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID))
                    {
                        MobileBountiesByWorldQuest mobileBountiesByWorldQuest6 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary[mobileWorldQuest.QuestID];
                        for (int num7 = 0; num7 < mobileBountiesByWorldQuest6.BountyQuestID.Length; num7++)
                        {
                            if (mobileBountiesByWorldQuest6.BountyQuestID[num7] == 42234)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Bounty_KirinTor) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID))
                    {
                        MobileBountiesByWorldQuest mobileBountiesByWorldQuest7 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary[mobileWorldQuest.QuestID];
                        for (int num8 = 0; num8 < mobileBountiesByWorldQuest7.BountyQuestID.Length; num8++)
                        {
                            if (mobileBountiesByWorldQuest7.BountyQuestID[num8] == 43179)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Invasion))
                    {
                        QuestInfoRec record3 = StaticDB.questInfoDB.GetRecord(mobileWorldQuest.QuestInfoID);
                        if (record3 == null)
                        {
                            break;
                        }
                        bool flag = record3.Type == 7;
                        if (flag)
                        {
                            matchesFilter = true;
                        }
                    }
                    if (!matchesFilter)
                    {
                        continue;
                    }
                }
                GameObject gameObject3 = Object.Instantiate <GameObject>(AdventureMapPanel.instance.m_AdvMapWorldQuestPrefab);
                if (mobileWorldQuest.StartLocationMapID == 1220)
                {
                    gameObject3.transform.SetParent(this.m_missionAndWorldQuestArea_BrokenIsles.transform, false);
                    float mapScale   = 0.10271506f;
                    float mapOffsetX = 1036.88037f;
                    float mapOffsetY = 597.2115f;
                    this.SetupWorldQuestIcon(mobileWorldQuest, gameObject3, mapOffsetX, mapOffsetY, mapScale);
                }
                else
                {
                    gameObject3.transform.localScale = new Vector3(1.33f, 1.33f, 1.33f);
                    gameObject3.transform.SetParent(this.m_missionAndWorldQuestArea_Argus.transform, false);
                    int worldMapAreaID = mobileWorldQuest.WorldMapAreaID;
                    if (worldMapAreaID != 1170)
                    {
                        if (worldMapAreaID != 1171)
                        {
                            if (worldMapAreaID != 1135)
                            {
                                Debug.LogError(string.Concat(new object[]
                                {
                                    "UNHANDLED WORLD QUEST AREA ID ",
                                    mobileWorldQuest.QuestTitle,
                                    " ",
                                    mobileWorldQuest.WorldMapAreaID
                                }));
                            }
                            else
                            {
                                float mapScale2   = 0.3132809f;
                                float mapOffsetX2 = 2115.88f;
                                float mapOffsetY2 = -7.788513f;
                                this.SetupWorldQuestIcon(mobileWorldQuest, gameObject3, mapOffsetX2, mapOffsetY2, mapScale2);
                            }
                        }
                        else
                        {
                            float mapScale2   = 0.38f;
                            float mapOffsetX2 = 3981f;
                            float mapOffsetY2 = 1520f;
                            this.SetupWorldQuestIcon(mobileWorldQuest, gameObject3, mapOffsetX2, mapOffsetY2, mapScale2);
                        }
                    }
                    else
                    {
                        float mapScale2   = 0.39f;
                        float mapOffsetX2 = 4832.76f;
                        float mapOffsetY2 = -1232f;
                        this.SetupWorldQuestIcon(mobileWorldQuest, gameObject3, mapOffsetX2, mapOffsetY2, mapScale2);
                    }
                }
                AdventureMapWorldQuest component3 = gameObject3.GetComponent <AdventureMapWorldQuest>();
                component3.SetQuestID(mobileWorldQuest.QuestID);
                StackableMapIcon component4 = gameObject3.GetComponent <StackableMapIcon>();
                if (component4 != null)
                {
                    component4.RegisterWithManager(mobileWorldQuest.StartLocationMapID);
                }
            }
        }
        finally
        {
            IDisposable disposable;
            if ((disposable = (enumerator as IDisposable)) != null)
            {
                disposable.Dispose();
            }
        }
        this.m_pinchZoomContentManager.ForceZoomFactorChanged();
    }
        public void SetQuest(int questID)
        {
            this.m_expiringSoon.gameObject.SetActive(false);
            this.m_questID = questID;
            Transform[] componentsInChildren = this.m_worldQuestObjectiveRoot.GetComponentsInChildren <Transform>(true);
            foreach (Transform transform in componentsInChildren)
            {
                if (transform != null && transform != this.m_worldQuestObjectiveRoot.transform)
                {
                    Object.Destroy(transform.gameObject);
                }
            }
            WrapperWorldQuest worldQuest = WorldQuestData.WorldQuestDictionary[this.m_questID];
            GameObject        gameObject = Object.Instantiate <GameObject>(this.m_worldQuestObjectiveDisplayPrefab);

            gameObject.transform.SetParent(this.m_worldQuestObjectiveRoot.transform, false);
            Text component = gameObject.GetComponent <Text>();

            component.text = worldQuest.QuestTitle;
            component.resizeTextMaxSize = 26;
            BountySite[] componentsInChildren2 = this.m_bountyLogoRoot.transform.GetComponentsInChildren <BountySite>(true);
            foreach (BountySite bountySite in componentsInChildren2)
            {
                Object.Destroy(bountySite.gameObject);
            }
            if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID))
            {
                WrapperBountiesByWorldQuest wrapperBountiesByWorldQuest = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID];
                for (int k = 0; k < wrapperBountiesByWorldQuest.BountyQuestIDs.Count; k++)
                {
                    foreach (WrapperWorldQuestBounty bounty in PersistentBountyData.bountyDictionary.Values)
                    {
                        if (wrapperBountiesByWorldQuest.BountyQuestIDs[k] == bounty.QuestID)
                        {
                            QuestV2Rec record = StaticDB.questDB.GetRecord(bounty.QuestID);
                            if (record != null)
                            {
                                GameObject gameObject2 = Object.Instantiate <GameObject>(this.m_worldQuestObjectiveDisplayPrefab);
                                gameObject2.transform.SetParent(this.m_worldQuestObjectiveRoot.transform, false);
                                Text component2 = gameObject2.GetComponent <Text>();
                                component2.text  = record.QuestTitle;
                                component2.color = new Color(1f, 0.773f, 0f, 1f);
                                BountySite bountySite2 = Object.Instantiate <BountySite>(this.m_bountyLogoPrefab);
                                bountySite2.SetBounty(bounty);
                                bountySite2.transform.SetParent(this.m_bountyLogoRoot.transform, false);
                            }
                        }
                    }
                }
            }
            GameObject gameObject3 = Object.Instantiate <GameObject>(this.m_worldQuestObjectiveDisplayPrefab);

            gameObject3.transform.SetParent(this.m_worldQuestObjectiveRoot.transform, false);
            this.m_worldQuestTimeText       = gameObject3.GetComponent <Text>();
            this.m_worldQuestTimeText.text  = worldQuest.QuestTitle;
            this.m_worldQuestTimeText.color = new Color(1f, 0.773f, 0f, 1f);
            foreach (WrapperWorldQuestObjective wrapperWorldQuestObjective in worldQuest.Objectives)
            {
                GameObject gameObject4 = Object.Instantiate <GameObject>(this.m_worldQuestObjectiveDisplayPrefab);
                gameObject4.transform.SetParent(this.m_worldQuestObjectiveRoot.transform, false);
                Text component3 = gameObject4.GetComponent <Text>();
                component3.text = "- " + wrapperWorldQuestObjective.Text;
            }
            this.InitRewardInfoDisplay(worldQuest);
            this.m_endTime = worldQuest.EndTime;
            QuestInfoRec record2 = StaticDB.questInfoDB.GetRecord(worldQuest.QuestInfoID);

            if (record2 == null)
            {
                return;
            }
            bool active = (record2.Modifiers & 2) != 0;

            this.m_dragonFrame.gameObject.SetActive(active);
            if (record2.Type == 7)
            {
                this.m_background.sprite = Resources.Load <Sprite>("NewWorldQuest/Mobile-NormalQuest");
                this.m_main.sprite       = Resources.Load <Sprite>("NewWorldQuest/Map-LegionInvasion-SargerasCrest");
                return;
            }
            this.m_background.sprite = Resources.Load <Sprite>("NewWorldQuest/Mobile-NormalQuest");
            bool flag = (record2.Modifiers & 1) != 0;

            if (flag && record2.Type != 3)
            {
                this.m_background.sprite = Resources.Load <Sprite>("NewWorldQuest/Mobile-RareQuest");
            }
            bool flag2 = (record2.Modifiers & 4) != 0;

            if (flag2 && record2.Type != 3)
            {
                this.m_background.sprite = Resources.Load <Sprite>("NewWorldQuest/Mobile-EpicQuest");
            }
            int    uitextureAtlasMemberID;
            string text;

            switch (record2.Type)
            {
            case 1:
            {
                int profession = record2.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_703;
            }

            case 3:
                uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-pvp-ffa");
                text = "Mobile-PVP";
                goto IL_703;

            case 4:
                uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-petbattle");
                text = "Mobile-Pets";
                goto IL_703;
            }
            uitextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang");
            text = "Mobile-QuestExclamationIcon";
IL_703:
            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();
            }
            this.UpdateTimeRemaining();
        }
Example #7
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();
            }
        }
    }
Example #8
0
        public void UpdateWorldQuests()
        {
            AdventureMapPanel.ClearWorldQuestArea(this.m_missionAndWorldQuestArea_BrokenIsles);
            AdventureMapPanel.ClearWorldQuestArea(this.m_missionAndWorldQuestArea_Argus);
            AdventureMapPanel.ClearWorldQuestArea(this.m_missionAndWorldQuestArea_KulTiras);
            AdventureMapPanel.ClearWorldQuestArea(this.m_missionAndWorldQuestArea_Zandalar);
            foreach (WrapperWorldQuest worldQuest in WorldQuestData.WorldQuestDictionary.Values)
            {
                if (!this.IsFilterEnabled(MapFilterType.All))
                {
                    bool flag = false;
                    if (!flag && this.IsFilterEnabled(MapFilterType.OrderResources))
                    {
                        flag |= worldQuest.Currencies.Any((WrapperWorldQuestReward reward) => reward.RecordID == 1220);
                    }
                    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 record2 = StaticDB.itemDB.GetRecord(reward.RecordID);
                            return(record2 != null && (record2.ClassID == 2 || record2.ClassID == 3 || record2.ClassID == 4 || record2.ClassID == 6));
                        });
                    }
                    if (!flag && this.IsFilterEnabled(MapFilterType.ProfessionMats))
                    {
                        flag |= worldQuest.Items.Any(delegate(WrapperWorldQuestReward reward)
                        {
                            ItemRec record2 = StaticDB.itemDB.GetRecord(reward.RecordID);
                            return(record2 != null && record2.ClassID == 7);
                        });
                    }
                    if (!flag && this.IsFilterEnabled(MapFilterType.PetCharms))
                    {
                        flag |= worldQuest.Items.Any((WrapperWorldQuestReward reward) => reward.RecordID == 116415);
                    }
                    if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_HighmountainTribes))
                    {
                        bool flag2 = flag;
                        bool flag3;
                        if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID))
                        {
                            flag3 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 42233);
                        }
                        else
                        {
                            flag3 = false;
                        }
                        flag = (flag2 || flag3);
                    }
                    if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_CourtOfFarondis))
                    {
                        bool flag4 = flag;
                        bool flag5;
                        if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID))
                        {
                            flag5 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 42420);
                        }
                        else
                        {
                            flag5 = false;
                        }
                        flag = (flag4 || flag5);
                    }
                    if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_Dreamweavers))
                    {
                        bool flag6 = flag;
                        bool flag7;
                        if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID))
                        {
                            flag7 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 42170);
                        }
                        else
                        {
                            flag7 = false;
                        }
                        flag = (flag6 || flag7);
                    }
                    if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_Wardens))
                    {
                        bool flag8 = flag;
                        bool flag9;
                        if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID))
                        {
                            flag9 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 42422);
                        }
                        else
                        {
                            flag9 = false;
                        }
                        flag = (flag8 || flag9);
                    }
                    if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_Nightfallen))
                    {
                        bool flag10 = flag;
                        bool flag11;
                        if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID))
                        {
                            flag11 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 42421);
                        }
                        else
                        {
                            flag11 = false;
                        }
                        flag = (flag10 || flag11);
                    }
                    if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_Valarjar))
                    {
                        bool flag12 = flag;
                        bool flag13;
                        if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID))
                        {
                            flag13 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 42234);
                        }
                        else
                        {
                            flag13 = false;
                        }
                        flag = (flag12 || flag13);
                    }
                    if (!flag && this.IsFilterEnabled(MapFilterType.Bounty_KirinTor))
                    {
                        bool flag14 = flag;
                        bool flag15;
                        if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(worldQuest.QuestID))
                        {
                            flag15 = PersistentBountyData.bountiesByWorldQuestDictionary[worldQuest.QuestID].BountyQuestIDs.Any((int questID) => questID == 43179);
                        }
                        else
                        {
                            flag15 = false;
                        }
                        flag = (flag14 || flag15);
                    }
                    if (!flag && this.IsFilterEnabled(MapFilterType.Invasion))
                    {
                        QuestInfoRec record = StaticDB.questInfoDB.GetRecord(worldQuest.QuestInfoID);
                        if (record == null)
                        {
                            break;
                        }
                        bool flag16 = record.Type == 7;
                        if (flag16)
                        {
                            flag = true;
                        }
                    }
                    if (!flag)
                    {
                        continue;
                    }
                }
                GameObject gameObject = Object.Instantiate <GameObject>(AdventureMapPanel.instance.m_AdvMapWorldQuestPrefab);
                if (worldQuest.StartLocationMapID == 1220)
                {
                    gameObject.transform.SetParent(this.m_missionAndWorldQuestArea_BrokenIsles.transform, false);
                    float mapScale   = 0.10271506f;
                    float mapOffsetX = 1036.88025f;
                    float mapOffsetY = 597.2115f;
                    this.SetupWorldQuestIcon(worldQuest, gameObject, mapOffsetX, mapOffsetY, mapScale);
                }
                else if (worldQuest.StartLocationMapID == 1669)
                {
                    gameObject.transform.localScale = new Vector3(1.33f, 1.33f, 1.33f);
                    gameObject.transform.SetParent(this.m_missionAndWorldQuestArea_Argus.transform, false);
                    int   worldMapAreaID = worldQuest.WorldMapAreaID;
                    float mapScale2;
                    float mapOffsetX2;
                    float mapOffsetY2;
                    switch (worldMapAreaID)
                    {
                    case 882:
                        goto IL_5EF;

                    default:
                        if (worldMapAreaID == 1170)
                        {
                            goto IL_5EF;
                        }
                        if (worldMapAreaID == 1171)
                        {
                            goto IL_618;
                        }
                        if (worldMapAreaID != 830 && worldMapAreaID != 1135)
                        {
                            Debug.LogError(string.Concat(new object[]
                            {
                                "UNHANDLED WORLD QUEST AREA ID ",
                                worldQuest.QuestTitle,
                                " ",
                                worldQuest.WorldMapAreaID
                            }));
                        }
                        else
                        {
                            mapScale2   = 0.3132809f;
                            mapOffsetX2 = 2115.88f;
                            mapOffsetY2 = -7.788513f;
                            this.SetupWorldQuestIcon(worldQuest, gameObject, mapOffsetX2, mapOffsetY2, mapScale2);
                        }
                        break;

                    case 885:
                        goto IL_618;
                    }
IL_67F:
                    goto IL_761;
IL_5EF:
                    mapScale2   = 0.39f;
                    mapOffsetX2 = 4832.76f;
                    mapOffsetY2 = -1232f;
                    this.SetupWorldQuestIcon(worldQuest, gameObject, mapOffsetX2, mapOffsetY2, mapScale2);
                    goto IL_67F;
IL_618:
                    mapScale2   = 0.38f;
                    mapOffsetX2 = 3981f;
                    mapOffsetY2 = 1520f;
                    this.SetupWorldQuestIcon(worldQuest, gameObject, mapOffsetX2, mapOffsetY2, mapScale2);
                }
                else if (worldQuest.StartLocationMapID == 1642)
                {
                    gameObject.transform.SetParent(this.m_missionAndWorldQuestArea_Zandalar.transform, false);
                    float mapScale3   = 0.10271506f;
                    float mapOffsetX3 = 1036.88025f;
                    float mapOffsetY3 = 597.2115f;
                    this.SetupWorldQuestIcon(worldQuest, gameObject, mapOffsetX3, mapOffsetY3, mapScale3);
                }
                else if (worldQuest.StartLocationMapID == 1643)
                {
                    gameObject.transform.SetParent(this.m_missionAndWorldQuestArea_KulTiras.transform, false);
                    float mapScale4   = 0.10271506f;
                    float mapOffsetX4 = 1036.88025f;
                    float mapOffsetY4 = 597.2115f;
                    this.SetupWorldQuestIcon(worldQuest, gameObject, mapOffsetX4, mapOffsetY4, mapScale4);
                }
                else
                {
                    Debug.LogError(string.Concat(new object[]
                    {
                        "UNHANDLED WORLD QUEST AREA ID ",
                        worldQuest.QuestTitle,
                        " ",
                        worldQuest.WorldMapAreaID
                    }));
                }
IL_761:
                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();
        }
Example #9
0
        public void SetQuest(int questID)
        {
            this.m_expiringSoon.gameObject.SetActive(false);
            this.m_questID = questID;
            Transform[] componentsInChildren = this.m_worldQuestObjectiveRoot.GetComponentsInChildren <Transform>(true);
            for (int i = 0; i < (int)componentsInChildren.Length; i++)
            {
                Transform transforms = componentsInChildren[i];
                if (transforms != null && transforms != this.m_worldQuestObjectiveRoot.transform)
                {
                    transforms.SetParent(null);
                    UnityEngine.Object.Destroy(transforms.gameObject);
                }
            }
            WrapperWorldQuest item = WorldQuestData.WorldQuestDictionary[this.m_questID];

            this.m_worldQuestNameText.text = item.QuestTitle;
            BountySite[] bountySiteArray = this.m_bountyLogoRoot.transform.GetComponentsInChildren <BountySite>(true);
            for (int j = 0; j < (int)bountySiteArray.Length; j++)
            {
                BountySite bountySite = bountySiteArray[j];
                bountySite.transform.SetParent(null);
                UnityEngine.Object.Destroy(bountySite.gameObject);
            }
            int num = 0;

            if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(item.QuestID))
            {
                WrapperBountiesByWorldQuest wrapperBountiesByWorldQuest = PersistentBountyData.bountiesByWorldQuestDictionary[item.QuestID];
                for (int k = 0; k < wrapperBountiesByWorldQuest.BountyQuestIDs.Count; k++)
                {
                    foreach (WrapperWorldQuestBounty value in PersistentBountyData.bountyDictionary.Values)
                    {
                        if (wrapperBountiesByWorldQuest.BountyQuestIDs[k] != value.QuestID)
                        {
                            continue;
                        }
                        QuestV2Rec record = StaticDB.questDB.GetRecord(value.QuestID);
                        if (record == null)
                        {
                            continue;
                        }
                        GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(this.m_worldQuestObjectiveDisplayPrefab);
                        gameObject.transform.SetParent(this.m_worldQuestObjectiveRoot.transform, false);
                        Text component = gameObject.GetComponent <Text>();
                        component.text  = record.QuestTitle;
                        component.color = new Color(1f, 0.773f, 0f, 1f);
                        BountySite bountySite1 = UnityEngine.Object.Instantiate <BountySite>(this.m_bountyLogoPrefab);
                        bountySite1.SetBounty(value);
                        bountySite1.transform.SetParent(this.m_bountyLogoRoot.transform, false);
                        num++;
                    }
                }
            }
            this.EnableBountyFiligree(num);
            GameObject gameObject1 = UnityEngine.Object.Instantiate <GameObject>(this.m_worldQuestObjectiveDisplayPrefab);

            gameObject1.transform.SetParent(this.m_worldQuestObjectiveRoot.transform, false);
            this.m_worldQuestTimeText       = gameObject1.GetComponent <Text>();
            this.m_worldQuestTimeText.text  = item.QuestTitle;
            this.m_worldQuestTimeText.color = new Color(1f, 0.773f, 0f, 1f);
            foreach (WrapperWorldQuestObjective objective in item.Objectives)
            {
                GameObject gameObject2 = UnityEngine.Object.Instantiate <GameObject>(this.m_worldQuestObjectiveDisplayPrefab);
                gameObject2.transform.SetParent(this.m_worldQuestObjectiveRoot.transform, false);
                Text text = gameObject2.GetComponent <Text>();
                text.text = string.Concat("- ", objective.Text);
            }
            this.InitRewardInfoDisplay(item);
            this.m_endTime = item.EndTime;
            QuestInfoRec questInfoRec = StaticDB.questInfoDB.GetRecord(item.QuestInfoID);

            if (questInfoRec == null)
            {
                return;
            }
            bool modifiers = (questInfoRec.Modifiers & 2) != 0;

            this.m_dragonFrame.gameObject.SetActive(modifiers);
            if (questInfoRec.Type == 7)
            {
                this.m_background.sprite = Resources.Load <Sprite>("NewWorldQuest/Mobile-NormalQuest");
                this.m_main.sprite       = Resources.Load <Sprite>("NewWorldQuest/Map-LegionInvasion-SargerasCrest");
                return;
            }
            this.m_background.sprite = Resources.Load <Sprite>("NewWorldQuest/Mobile-NormalQuest");
            if ((questInfoRec.Modifiers & 1) != 0 && questInfoRec.Type != 3)
            {
                this.m_background.sprite = Resources.Load <Sprite>("NewWorldQuest/Mobile-RareQuest");
            }
            if ((questInfoRec.Modifiers & 4) != 0 && questInfoRec.Type != 3)
            {
                this.m_background.sprite = Resources.Load <Sprite>("NewWorldQuest/Mobile-EpicQuest");
            }
            int    uITextureAtlasMemberID = 0;
            string str = null;

            switch (questInfoRec.Type)
            {
            case 1:
            {
                int profession = questInfoRec.Profession;
                switch (profession)
                {
                case 182:
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-herbalism");
                    str = "Mobile-Herbalism";
                    break;
                }

                case 185:
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-cooking");
                    str = "Mobile-Cooking";
                    break;
                }

                case 186:
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-mining");
                    str = "Mobile-Mining";
                    break;
                }

                default:
                {
                    if (profession == 164)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-blacksmithing");
                        str = "Mobile-Blacksmithing";
                        break;
                    }
                    else if (profession == 165)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-leatherworking");
                        str = "Mobile-Leatherworking";
                        break;
                    }
                    else if (profession == 129)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-firstaid");
                        str = "Mobile-FirstAid";
                        break;
                    }
                    else if (profession == 171)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-alchemy");
                        str = "Mobile-Alchemy";
                        break;
                    }
                    else if (profession == 197)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-tailoring");
                        str = "Mobile-Tailoring";
                        break;
                    }
                    else if (profession == 202)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-engineering");
                        str = "Mobile-Engineering";
                        break;
                    }
                    else if (profession == 333)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-enchanting");
                        str = "Mobile-Enchanting";
                        break;
                    }
                    else if (profession == 356)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-fishing");
                        str = "Mobile-Fishing";
                        break;
                    }
                    else if (profession == 393)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-skinning");
                        str = "Mobile-Skinning";
                        break;
                    }
                    else if (profession == 755)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-jewelcrafting");
                        str = "Mobile-Jewelcrafting";
                        break;
                    }
                    else if (profession == 773)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-inscription");
                        str = "Mobile-Inscription";
                        break;
                    }
                    else if (profession == 794)
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-archaeology");
                        str = "Mobile-Archaeology";
                        break;
                    }
                    else
                    {
                        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang");
                        str = "Mobile-QuestExclamationIcon";
                        break;
                    }
                }
                }
                break;
            }

            case 2:
            {
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang");
                str = "Mobile-QuestExclamationIcon";
                break;
            }

            case 3:
            {
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-pvp-ffa");
                str = "Mobile-PVP";
                break;
            }

            case 4:
            {
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-petbattle");
                str = "Mobile-Pets";
                break;
            }

            default:
            {
                goto case 2;
            }
            }
            if (str != null)
            {
                this.m_main.sprite = Resources.Load <Sprite>(string.Concat("NewWorldQuest/", str));
            }
            else if (uITextureAtlasMemberID > 0)
            {
                this.m_main.sprite = TextureAtlas.instance.GetAtlasSprite(uITextureAtlasMemberID);
                this.m_main.SetNativeSize();
            }
            this.UpdateTimeRemaining();
        }
    public void SetQuest(int questID)
    {
        this.m_expiringSoon.get_gameObject().SetActive(false);
        this.m_questID = questID;
        Transform[] componentsInChildren = this.m_worldQuestObjectiveRoot.GetComponentsInChildren <Transform>(true);
        Transform[] array = componentsInChildren;
        for (int i = 0; i < array.Length; i++)
        {
            Transform transform = array[i];
            if (transform != null && transform != this.m_worldQuestObjectiveRoot.get_transform())
            {
                Object.DestroyImmediate(transform.get_gameObject());
            }
        }
        MobileWorldQuest mobileWorldQuest = (MobileWorldQuest)WorldQuestData.worldQuestDictionary.get_Item(this.m_questID);
        GameObject       gameObject       = Object.Instantiate <GameObject>(this.m_worldQuestObjectiveDisplayPrefab);

        gameObject.get_transform().SetParent(this.m_worldQuestObjectiveRoot.get_transform(), false);
        Text component = gameObject.GetComponent <Text>();

        component.set_text(mobileWorldQuest.QuestTitle);
        component.set_resizeTextMaxSize(26);
        BountySite[] componentsInChildren2 = this.m_bountyLogoRoot.get_transform().GetComponentsInChildren <BountySite>(true);
        BountySite[] array2 = componentsInChildren2;
        for (int j = 0; j < array2.Length; j++)
        {
            BountySite bountySite = array2[j];
            Object.DestroyImmediate(bountySite.get_gameObject());
        }
        if (PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID))
        {
            MobileBountiesByWorldQuest mobileBountiesByWorldQuest = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary.get_Item(mobileWorldQuest.QuestID);
            for (int k = 0; k < mobileBountiesByWorldQuest.BountyQuestID.Length; k++)
            {
                IEnumerator enumerator = PersistentBountyData.bountyDictionary.get_Values().GetEnumerator();
                try
                {
                    while (enumerator.MoveNext())
                    {
                        MobileWorldQuestBounty mobileWorldQuestBounty = (MobileWorldQuestBounty)enumerator.get_Current();
                        if (mobileBountiesByWorldQuest.BountyQuestID[k] == mobileWorldQuestBounty.QuestID)
                        {
                            QuestV2Rec record = StaticDB.questDB.GetRecord(mobileWorldQuestBounty.QuestID);
                            if (record != null)
                            {
                                GameObject gameObject2 = Object.Instantiate <GameObject>(this.m_worldQuestObjectiveDisplayPrefab);
                                gameObject2.get_transform().SetParent(this.m_worldQuestObjectiveRoot.get_transform(), false);
                                this.m_worldQuestTimeText = gameObject2.GetComponent <Text>();
                                this.m_worldQuestTimeText.set_text(record.QuestTitle);
                                this.m_worldQuestTimeText.set_horizontalOverflow(1);
                                this.m_worldQuestTimeText.set_color(new Color(1f, 0.773f, 0f, 1f));
                                BountySite bountySite2 = Object.Instantiate <BountySite>(this.m_bountyLogoPrefab);
                                bountySite2.SetBounty(mobileWorldQuestBounty);
                                bountySite2.get_transform().SetParent(this.m_bountyLogoRoot.get_transform(), false);
                            }
                        }
                    }
                }
                finally
                {
                    IDisposable disposable = enumerator as IDisposable;
                    if (disposable != null)
                    {
                        disposable.Dispose();
                    }
                }
            }
        }
        GameObject gameObject3 = Object.Instantiate <GameObject>(this.m_worldQuestObjectiveDisplayPrefab);

        gameObject3.get_transform().SetParent(this.m_worldQuestObjectiveRoot.get_transform(), false);
        this.m_worldQuestTimeText = gameObject3.GetComponent <Text>();
        this.m_worldQuestTimeText.set_text(mobileWorldQuest.QuestTitle);
        this.m_worldQuestTimeText.set_horizontalOverflow(1);
        this.m_worldQuestTimeText.set_color(new Color(1f, 0.773f, 0f, 1f));
        using (IEnumerator <MobileWorldQuestObjective> enumerator2 = Enumerable.AsEnumerable <MobileWorldQuestObjective>(mobileWorldQuest.Objective).GetEnumerator())
        {
            while (enumerator2.MoveNext())
            {
                MobileWorldQuestObjective current = enumerator2.get_Current();
                GameObject gameObject4            = Object.Instantiate <GameObject>(this.m_worldQuestObjectiveDisplayPrefab);
                gameObject4.get_transform().SetParent(this.m_worldQuestObjectiveRoot.get_transform(), false);
                Text component2 = gameObject4.GetComponent <Text>();
                component2.set_text("-" + current.Text);
            }
        }
        this.InitRewardInfoDisplay(mobileWorldQuest);
        this.m_endTime = (long)(mobileWorldQuest.EndTime - 900);
        QuestInfoRec record2 = StaticDB.questInfoDB.GetRecord(mobileWorldQuest.QuestInfoID);

        if (record2 == null)
        {
            return;
        }
        bool active = (record2.Modifiers & 2) != 0;

        this.m_dragonFrame.get_gameObject().SetActive(active);
        this.m_background.set_sprite(Resources.Load <Sprite>("NewWorldQuest/Mobile-NormalQuest"));
        bool flag = (record2.Modifiers & 1) != 0;

        if (flag && record2.Type != 3)
        {
            this.m_background.set_sprite(Resources.Load <Sprite>("NewWorldQuest/Mobile-RareQuest"));
        }
        bool flag2 = (record2.Modifiers & 4) != 0;

        if (flag2 && record2.Type != 3)
        {
            this.m_background.set_sprite(Resources.Load <Sprite>("NewWorldQuest/Mobile-EpicQuest"));
        }
        int    uITextureAtlasMemberID;
        string text;

        switch (record2.Type)
        {
        case 1:
        {
            int profession = record2.Profession;
            switch (profession)
            {
            case 182:
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-herbalism");
                text = "Mobile-Herbalism";
                goto IL_6CB;

            case 183:
            case 184:
IL_4B6:
                if (profession == 164)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-blacksmithing");
                    text = "Mobile-Blacksmithing";
                    goto IL_6CB;
                }
                if (profession == 165)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-leatherworking");
                    text = "Mobile-Leatherworking";
                    goto IL_6CB;
                }
                if (profession == 129)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-firstaid");
                    text = "Mobile-FirstAid";
                    goto IL_6CB;
                }
                if (profession == 171)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-alchemy");
                    text = "Mobile-Alchemy";
                    goto IL_6CB;
                }
                if (profession == 197)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-tailoring");
                    text = "Mobile-Tailoring";
                    goto IL_6CB;
                }
                if (profession == 202)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-engineering");
                    text = "Mobile-Engineering";
                    goto IL_6CB;
                }
                if (profession == 333)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-enchanting");
                    text = "Mobile-Enchanting";
                    goto IL_6CB;
                }
                if (profession == 356)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-fishing");
                    text = "Mobile-Fishing";
                    goto IL_6CB;
                }
                if (profession == 393)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-skinning");
                    text = "Mobile-Skinning";
                    goto IL_6CB;
                }
                if (profession == 755)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-jewelcrafting");
                    text = "Mobile-Jewelcrafting";
                    goto IL_6CB;
                }
                if (profession == 773)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-inscription");
                    text = "Mobile-Inscription";
                    goto IL_6CB;
                }
                if (profession != 794)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang");
                    text = "Mobile-QuestExclamationIcon";
                    goto IL_6CB;
                }
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-archaeology");
                text = "Mobile-Archaeology";
                goto IL_6CB;

            case 185:
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-cooking");
                text = "Mobile-Cooking";
                goto IL_6CB;

            case 186:
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-mining");
                text = "Mobile-Mining";
                goto IL_6CB;
            }
            goto IL_4B6;
IL_6CB:
            goto IL_718;
        }

        case 3:
            uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-pvp-ffa");
            text = "Mobile-PVP";
            goto IL_718;

        case 4:
            uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-petbattle");
            text = "Mobile-Pets";
            goto IL_718;
        }
        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang");
        text = "Mobile-QuestExclamationIcon";
IL_718:
        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();
        }
        this.UpdateTimeRemaining();
    }