Esempio n. 1
0
 public static void AddWorldQuest(WrapperWorldQuest worldQuest)
 {
     if (!WorldQuestData.instance.m_worldQuestDictionary.ContainsKey(worldQuest.QuestID))
     {
         WorldQuestData.instance.m_worldQuestDictionary.Add(worldQuest.QuestID, worldQuest);
     }
 }
        private void InitRewardInfoDisplay(WrapperWorldQuest worldQuest)
        {
            int num = 0;

            this.m_rewardInfo[0].gameObject.SetActive(true);
            this.m_rewardInfo[1].gameObject.SetActive(false);
            this.m_rewardInfo[2].gameObject.SetActive(false);
            if (worldQuest.Items != null && worldQuest.Items.Count <WrapperWorldQuestReward>() > 0)
            {
                foreach (WrapperWorldQuestReward wrapperWorldQuestReward in worldQuest.Items)
                {
                    Sprite rewardSprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, wrapperWorldQuestReward.FileDataID);
                    this.m_rewardInfo[num].SetReward(MissionRewardDisplay.RewardType.item, wrapperWorldQuestReward.RecordID, wrapperWorldQuestReward.Quantity, rewardSprite, wrapperWorldQuestReward.ItemContext);
                    this.EnableAdditionalRewardDisplays(num++);
                    if (num >= 3)
                    {
                        break;
                    }
                }
            }
            else if (worldQuest.Currencies.Count <WrapperWorldQuestReward>() > 0)
            {
                foreach (WrapperWorldQuestReward wrapperWorldQuestReward2 in worldQuest.Currencies)
                {
                    Sprite           iconSprite = GeneralHelpers.LoadCurrencyIcon(wrapperWorldQuestReward2.RecordID);
                    CurrencyTypesRec record     = StaticDB.currencyTypesDB.GetRecord(wrapperWorldQuestReward2.RecordID);
                    int quantity = wrapperWorldQuestReward2.Quantity / (((record.Flags & 8u) == 0u) ? 1 : 100);
                    this.m_rewardInfo[num].SetCurrency(wrapperWorldQuestReward2.RecordID, quantity, iconSprite);
                    this.EnableAdditionalRewardDisplays(num++);
                    if (num >= 3)
                    {
                        break;
                    }
                }
            }
            else if (worldQuest.Money > 0)
            {
                Sprite iconSprite2 = Resources.Load <Sprite>("MiscIcons/INV_Misc_Coin_01");
                this.m_rewardInfo[num].SetGold(worldQuest.Money / 10000, iconSprite2);
                this.EnableAdditionalRewardDisplays(num++);
                if (num >= 3)
                {
                    return;
                }
            }
            else if (worldQuest.Experience > 0)
            {
                Sprite localizedFollowerXpIcon = GeneralHelpers.GetLocalizedFollowerXpIcon();
                this.m_rewardInfo[num].SetFollowerXP(worldQuest.Experience, localizedFollowerXpIcon);
                this.EnableAdditionalRewardDisplays(num++);
                if (num >= 3)
                {
                    return;
                }
            }
        }
        private void SetupWorldQuestIcon(WrapperWorldQuest worldQuest, GameObject worldQuestObj, float mapOffsetX, float mapOffsetY, float mapScale)
        {
            float startLocationY = (float)worldQuest.StartLocationY * -mapScale;
            float startLocationX = (float)worldQuest.StartLocationX * mapScale;

            startLocationY += mapOffsetX;
            startLocationX += mapOffsetY;
            Vector2       vector3   = new Vector3(startLocationY / (float)AdventureMapPanel.GetImageWByMapID(worldQuest.StartLocationMapID), startLocationX / 1334f);
            RectTransform component = worldQuestObj.GetComponent <RectTransform>();

            component.anchorMin        = vector3;
            component.anchorMax        = vector3;
            component.anchoredPosition = Vector2.zero;
        }
 public static void InitWorldQuestRewards(WrapperWorldQuest worldQuest, GameObject prefab, Transform parent)
 {
     if (worldQuest.Items != null)
     {
         foreach (WrapperWorldQuestReward wrapperWorldQuestReward in worldQuest.Items)
         {
             GameObject gameObject = Object.Instantiate <GameObject>(prefab);
             gameObject.transform.SetParent(parent, false);
             MissionRewardDisplay component = gameObject.GetComponent <MissionRewardDisplay>();
             component.InitReward(MissionRewardDisplay.RewardType.item, wrapperWorldQuestReward.RecordID, wrapperWorldQuestReward.Quantity, wrapperWorldQuestReward.ItemContext, wrapperWorldQuestReward.FileDataID);
         }
     }
     if (worldQuest.Money > 0)
     {
         GameObject gameObject2 = Object.Instantiate <GameObject>(prefab);
         gameObject2.transform.SetParent(parent, false);
         MissionRewardDisplay component2 = gameObject2.GetComponent <MissionRewardDisplay>();
         component2.InitReward(MissionRewardDisplay.RewardType.gold, 0, worldQuest.Money / 10000, 0, 0);
     }
     if (worldQuest.Experience > 0)
     {
         GameObject gameObject3 = Object.Instantiate <GameObject>(prefab);
         gameObject3.transform.SetParent(parent, false);
         MissionRewardDisplay component3 = gameObject3.GetComponent <MissionRewardDisplay>();
         component3.InitReward(MissionRewardDisplay.RewardType.followerXP, 0, worldQuest.Experience, 0, 0);
     }
     foreach (WrapperWorldQuestReward wrapperWorldQuestReward2 in worldQuest.Currencies)
     {
         GameObject gameObject4 = Object.Instantiate <GameObject>(prefab);
         gameObject4.transform.SetParent(parent, false);
         MissionRewardDisplay component4 = gameObject4.GetComponent <MissionRewardDisplay>();
         CurrencyTypesRec     record     = StaticDB.currencyTypesDB.GetRecord(wrapperWorldQuestReward2.RecordID);
         if (record != null)
         {
             int rewardQuantity = wrapperWorldQuestReward2.Quantity / (((record.Flags & 8u) == 0u) ? 1 : 100);
             component4.InitReward(MissionRewardDisplay.RewardType.currency, wrapperWorldQuestReward2.RecordID, rewardQuantity, 0, 0);
         }
         else
         {
             Debug.LogWarning(string.Concat(new object[]
             {
                 "WORLD QUEST ",
                 worldQuest.QuestID,
                 " has bogus currency reward (id ",
                 wrapperWorldQuestReward2.RecordID,
                 ")"
             }));
         }
     }
 }
        private void SetupWorldQuestIcon(WrapperWorldQuest worldQuest, GameObject worldQuestObj, float mapOffsetX, float mapOffsetY, float mapScale)
        {
            float num  = (float)worldQuest.StartLocationY * -mapScale;
            float num2 = (float)worldQuest.StartLocationX * mapScale;

            num  += mapOffsetX;
            num2 += mapOffsetY;
            float         num3      = (float)AdventureMapPanel.GetImageWByMapID(worldQuest.StartLocationMapID);
            float         num4      = (float)AdventureMapPanel.GetImageHByMapID(worldQuest.StartLocationMapID);
            Vector2       vector    = new Vector3(num / num3, num2 / num4);
            RectTransform component = worldQuestObj.GetComponent <RectTransform>();

            component.anchorMin        = vector;
            component.anchorMax        = vector;
            component.anchoredPosition = Vector2.zero;
        }
        private GameObject SetupWorldQuestObject(WrapperWorldQuest worldQuest, Dictionary <int, float> mapScaleTweaks = null, Dictionary <int, Vector2> mapOffsetTweaks = null)
        {
            AdventureMapPanel.eZone zoneForMapID = AdventureMapPanel.GetZoneForMapID(worldQuest.StartLocationMapID);
            if (zoneForMapID == AdventureMapPanel.eZone.None)
            {
                Debug.LogError(string.Concat(new object[]
                {
                    "Unknown start zone ID ",
                    worldQuest.StartLocationMapID,
                    " for world quest ",
                    worldQuest.QuestID
                }));
                return(null);
            }
            MapInfo mapInfo = MapInfo.GetMapInfo(zoneForMapID);

            if (mapInfo == null)
            {
                Debug.LogError("No map info present for world quest " + worldQuest.QuestID);
                return(null);
            }
            GameObject worldQuestArea = mapInfo.GetWorldQuestArea();

            if (worldQuestArea == null)
            {
                Debug.LogError("No world quest area object on map for world quest " + worldQuest.QuestID);
                return(null);
            }
            float num  = mapInfo.m_worldQuestOffset.x;
            float num2 = mapInfo.m_worldQuestOffset.y;
            float num3 = mapInfo.m_worldQuestScale;

            if (mapScaleTweaks != null && mapScaleTweaks.ContainsKey(worldQuest.WorldMapAreaID))
            {
                num3 += mapScaleTweaks[worldQuest.WorldMapAreaID];
            }
            if (mapOffsetTweaks != null && mapOffsetTweaks.ContainsKey(worldQuest.WorldMapAreaID))
            {
                num  += mapOffsetTweaks[worldQuest.WorldMapAreaID].x;
                num2 += mapOffsetTweaks[worldQuest.WorldMapAreaID].y;
            }
            GameObject gameObject = Object.Instantiate <GameObject>(this.m_AdvMapWorldQuestPrefab);

            gameObject.transform.SetParent(worldQuestArea.transform, false);
            this.SetupWorldQuestIcon(worldQuest, gameObject, num, num2, num3);
            return(gameObject);
        }
 public static void InitWorldQuestRewards(WrapperWorldQuest worldQuest, GameObject prefab, Transform parent)
 {
     if (worldQuest.Items != null)
     {
         foreach (WrapperWorldQuestReward item in worldQuest.Items)
         {
             GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(prefab);
             gameObject.transform.SetParent(parent, false);
             MissionRewardDisplay component = gameObject.GetComponent <MissionRewardDisplay>();
             component.InitReward(MissionRewardDisplay.RewardType.item, item.RecordID, item.Quantity, item.ItemContext, item.FileDataID);
         }
     }
     if (worldQuest.Money > 0)
     {
         GameObject gameObject1 = UnityEngine.Object.Instantiate <GameObject>(prefab);
         gameObject1.transform.SetParent(parent, false);
         MissionRewardDisplay missionRewardDisplay = gameObject1.GetComponent <MissionRewardDisplay>();
         missionRewardDisplay.InitReward(MissionRewardDisplay.RewardType.gold, 0, worldQuest.Money / 10000, 0, 0);
     }
     if (worldQuest.Experience > 0)
     {
         GameObject gameObject2 = UnityEngine.Object.Instantiate <GameObject>(prefab);
         gameObject2.transform.SetParent(parent, false);
         MissionRewardDisplay component1 = gameObject2.GetComponent <MissionRewardDisplay>();
         component1.InitReward(MissionRewardDisplay.RewardType.followerXP, 0, worldQuest.Experience, 0, 0);
     }
     foreach (WrapperWorldQuestReward currency in worldQuest.Currencies)
     {
         GameObject gameObject3 = UnityEngine.Object.Instantiate <GameObject>(prefab);
         gameObject3.transform.SetParent(parent, false);
         MissionRewardDisplay missionRewardDisplay1 = gameObject3.GetComponent <MissionRewardDisplay>();
         CurrencyTypesRec     record = StaticDB.currencyTypesDB.GetRecord(currency.RecordID);
         if (record == null)
         {
             Debug.LogWarning(string.Concat(new object[] { "WORLD QUEST ", worldQuest.QuestID, " has bogus currency reward (id ", currency.RecordID, ")" }));
         }
         else
         {
             int quantity = currency.Quantity / ((record.Flags & 8) == 0 ? 1 : 100);
             missionRewardDisplay1.InitReward(MissionRewardDisplay.RewardType.currency, currency.RecordID, quantity, 0, 0);
         }
     }
 }
Esempio n. 8
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();
                }
            }
        }
Esempio n. 9
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");
            }
        }
Esempio n. 10
0
        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();
        }
Esempio n. 11
0
        private void InitRewardInfoDisplay(WrapperWorldQuest worldQuest)
        {
            Sprite sprite;
            int    quantity;
            int    num = 0;

            this.m_rewardInfo[0].gameObject.SetActive(true);
            this.m_rewardInfo[1].gameObject.SetActive(false);
            this.m_rewardInfo[2].gameObject.SetActive(false);
            if (worldQuest.Items != null && worldQuest.Items.Count <WrapperWorldQuestReward>() > 0)
            {
                foreach (WrapperWorldQuestReward item in worldQuest.Items)
                {
                    Sprite sprite1 = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, item.FileDataID);
                    this.m_rewardInfo[num].SetReward(MissionRewardDisplay.RewardType.item, item.RecordID, item.Quantity, sprite1, item.ItemContext);
                    int num1 = num;
                    num = num1 + 1;
                    this.EnableAdditionalRewardDisplays(num1);
                    if (num < 3)
                    {
                        continue;
                    }
                    return;
                }
            }
            else if (worldQuest.Currencies.Count <WrapperWorldQuestReward>() > 0)
            {
                foreach (WrapperWorldQuestReward currency in worldQuest.Currencies)
                {
                    CurrencyTypesRec record = StaticDB.currencyTypesDB.GetRecord(currency.RecordID);
                    if (CurrencyContainerDB.CheckAndGetValidCurrencyContainer(currency.RecordID, currency.Quantity) == null)
                    {
                        sprite   = GeneralHelpers.LoadCurrencyIcon(currency.RecordID);
                        quantity = currency.Quantity / ((record.Flags & 8) == 0 ? 1 : 100);
                        this.m_rewardInfo[num].SetCurrency(currency.RecordID, quantity, sprite);
                        int num2 = num;
                        num = num2 + 1;
                        this.EnableAdditionalRewardDisplays(num2);
                        if (num < 3)
                        {
                            continue;
                        }
                        return;
                    }
                    else
                    {
                        sprite   = CurrencyContainerDB.LoadCurrencyContainerIcon(currency.RecordID, currency.Quantity);
                        quantity = currency.Quantity / ((record.Flags & 8) == 0 ? 1 : 100);
                        this.m_rewardInfo[num].SetCurrency(currency.RecordID, quantity, sprite);
                        int num3 = num;
                        num = num3 + 1;
                        this.EnableAdditionalRewardDisplays(num3);
                        if (num >= 3)
                        {
                            return;
                        }
                    }
                }
            }
            else if (worldQuest.Money > 0)
            {
                Sprite sprite2 = Resources.Load <Sprite>("MiscIcons/INV_Misc_Coin_01");
                this.m_rewardInfo[num].SetGold(worldQuest.Money / 10000, sprite2);
                int num4 = num;
                num = num4 + 1;
                this.EnableAdditionalRewardDisplays(num4);
                if (num >= 3)
                {
                    return;
                }
            }
            else if (worldQuest.Experience > 0)
            {
                Sprite localizedFollowerXpIcon = GeneralHelpers.GetLocalizedFollowerXpIcon();
                this.m_rewardInfo[num].SetFollowerXP(worldQuest.Experience, localizedFollowerXpIcon);
                int num5 = num;
                num = num5 + 1;
                this.EnableAdditionalRewardDisplays(num5);
                if (num >= 3)
                {
                    return;
                }
            }
        }
Esempio n. 12
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();
        }
Esempio n. 13
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;
                    }
                    if (this.m_showLootIconInsteadOfMain)
                    {
                        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.ShowILVL();
                    }
                }
            }
            if (!flag && this.m_showLootIconInsteadOfMain)
            {
                if (wrapperWorldQuest.Currencies.Count > 0)
                {
                    foreach (WrapperWorldQuestReward wrapperWorldQuestReward2 in wrapperWorldQuest.Currencies)
                    {
                        CurrencyTypesRec record2 = StaticDB.currencyTypesDB.GetRecord(wrapperWorldQuestReward2.RecordID);
                        if (record2 != null)
                        {
                            this.m_main.sprite = GeneralHelpers.LoadCurrencyIcon(wrapperWorldQuestReward2.RecordID);
                        }
                        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 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_6FD;
            }

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

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