示例#1
0
        protected void parseDisneyShopRewards()
        {
            Dictionary <int, DisneyStoreFranchiseDefinition> dictionary = Service.Get <GameData>().Get <Dictionary <int, DisneyStoreFranchiseDefinition> >();

            Dictionary <int, DisneyStoreFranchiseDefinition> .Enumerator enumerator = dictionary.GetEnumerator();
            bool isMember = isLocalPlayerMember();

            while (enumerator.MoveNext())
            {
                DisneyStoreFranchiseDefinition value = enumerator.Current.Value;
                for (int i = 0; i < value.Items.Count; i++)
                {
                    DisneyStoreItemData disneyStoreItemData = new DisneyStoreItemData(value.Items[i]);
                    if (disneyStoreItemData.Definition != null)
                    {
                        if (DisneyStoreUtils.IsItemOwned(disneyStoreItemData))
                        {
                            parseRewardDefinition(getRewards(value.Items[i].Reward), isMember, new SpriteContentKey("Images/ProgressionIcons/Quests_ProgressionLock_Membership"), value.Items[i].ThemeDefinition);
                        }
                    }
                    else
                    {
                        Log.LogError(this, $"Franchise contains null item: {value.name}");
                    }
                }
            }
        }
示例#2
0
 public override void SetItem(DisneyStoreItemData item, Sprite icon, DisneyStoreFranchise storeFranchise, IDisneyStoreController storeController, DisneyStoreFranchiseItem shopItem, RectTransform scrollRectTransform)
 {
     IconImage.sprite    = icon;
     this.storeFranchise = storeFranchise;
     GetComponent <StoreItemConfirmationPlacement>().PositionConfirmation((RectTransform)shopItem.transform, scrollRectTransform);
     selectTrayIcons(item);
     logItemViewed(item);
 }
示例#3
0
 public void SetItem(DisneyStoreItemData itemData, DisneyStoreFranchise storeFranchise)
 {
     this.itemData       = itemData;
     this.storeFranchise = storeFranchise;
     TitleText.text      = Service.Get <Localizer>().GetTokenTranslation(itemData.Definition.TitleToken);
     PriceTag.setItem(itemData.Definition, itemData.Definition.Cost, (CellPhoneSaleActivityDefinition sale, DisneyStoreItemDefinition item) => new List <DisneyStoreItemDefinition>(sale.DisneyStoreItems).Find((DisneyStoreItemDefinition disneyStoreItem) => disneyStoreItem.Id == itemData.Definition.Id));
     loadItemIcon(itemData);
     ShowItemStatus();
 }
示例#4
0
        public static bool IsIglooReward(DisneyStoreItemData item)
        {
            bool           result  = false;
            List <DReward> rewards = item.GetRewards();

            for (int i = 0; i < rewards.Count; i++)
            {
                result = IsIglooReward(rewards[i].Category);
            }
            return(result);
        }
示例#5
0
        public static RewardCategory GetItemRewardCategory(DisneyStoreItemData item)
        {
            List <DReward> rewards = item.GetRewards();
            RewardCategory result  = RewardCategory.equipmentInstances;

            if (rewards.Count > 0)
            {
                result = rewards[0].Category;
            }
            return(result);
        }
        protected void setPurchaseActionText(DisneyStoreItemData item)
        {
            List <DReward> rewards  = item.GetRewards();
            RewardCategory category = rewards[0].Category;
            string         token    = "GlobalUI.Buttons.Use";

            if (category == RewardCategory.equipmentInstances)
            {
                token = "Marketplace.DisneyShop.WearButton";
            }
            PurchasedActionText.text = Service.Get <Localizer>().GetTokenTranslation(token);
        }
        private bool isItemEquippable(DisneyStoreItemData itemData)
        {
            List <DReward> rewards = itemData.GetRewards();

            for (int i = 0; i < rewards.Count; i++)
            {
                if (rewards[i].Category == RewardCategory.equipmentInstances || rewards[i].Category == RewardCategory.durables || rewards[i].Category == RewardCategory.equipmentTemplates || rewards[i].Category == RewardCategory.fabrics || rewards[i].Category == RewardCategory.decals || rewards[i].Category == RewardCategory.colourPacks || rewards[i].Category == RewardCategory.consumables)
                {
                    return(true);
                }
            }
            return(false);
        }
示例#8
0
        public static bool DoesItemContainEquipmentInstance(DisneyStoreItemData item)
        {
            List <DReward> rewards = item.GetRewards();
            bool           result  = false;

            for (int i = 0; i < rewards.Count; i++)
            {
                if (rewards[i].Category == RewardCategory.equipmentInstances)
                {
                    result = true;
                    break;
                }
            }
            return(result);
        }
        protected void selectTrayIcons(DisneyStoreItemData item)
        {
            List <DReward> rewards  = item.GetRewards();
            RewardCategory category = rewards[0].Category;
            int            num      = (DisneyStoreUtils.IsIglooReward(item) ? 3 : Array.IndexOf(TrayIconImageSelectorCategoryIndexes, category));

            if (num != -1 || num >= TrayIconImageSelector.Sprites.Length)
            {
                TrayIconImageSelector.SelectSprite(num);
            }
            else
            {
                TrayIconImageSelector.SelectSprite(0);
            }
        }
        private IEnumerator loadConfirmation(PrefabContentKey prefabKey, DisneyStoreItemData item, Sprite icon, DisneyStoreFranchiseItem shopItem)
        {
            AssetRequest <GameObject> request = Content.LoadAsync(prefabKey);

            yield return(request);

            GameObject newConfirmation = UnityEngine.Object.Instantiate(request.Asset, ConfirmationContainer, worldPositionStays: false);

            newConfirmation.GetComponent <AbstractDisneyStoreConfirmation>().SetItem(item, icon, this, storeController, shopItem, ContentScrollRect.transform as RectTransform);
            if (confirmation != null)
            {
                HideConfirmation();
            }
            confirmation = newConfirmation;
            ContentScrollRect.onValueChanged.AddListener(onContentScrollRectValueChanged);
        }
示例#11
0
        public static bool IsItemMultiPurchase(DisneyStoreItemData item)
        {
            List <DReward> rewards = item.GetRewards();
            bool           flag    = false;
            bool           flag2   = false;

            for (int i = 0; i < rewards.Count; i++)
            {
                if (rewards[i].Category == RewardCategory.consumables || rewards[i].Category == RewardCategory.decorationInstances)
                {
                    flag = true;
                    continue;
                }
                flag2 = true;
                break;
            }
            return(flag && !flag2);
        }
示例#12
0
        private void showPriceTag(DisneyStoreItemData item)
        {
            PriceTagSpriteSelector.gameObject.SetActive(value: true);
            RewardCategory itemRewardCategory = DisneyStoreUtils.GetItemRewardCategory(item);

            if (DisneyStoreUtils.IsIglooReward(itemRewardCategory))
            {
                PriceTagSpriteSelector.SelectSprite(2);
            }
            else if (itemRewardCategory == RewardCategory.consumables)
            {
                PriceTagSpriteSelector.SelectSprite(1);
            }
            else
            {
                PriceTagSpriteSelector.SelectSprite(0);
            }
        }
        public void ShowConfirmation(DisneyStoreItemData item, Sprite icon, DisneyStoreFranchiseItem shopItem)
        {
            PrefabContentKey prefabKey = OwnedConfirmationPrefabKey;
            bool             flag      = DisneyStoreUtils.IsItemMultiPurchase(item);

            if (DisneyStoreUtils.IsIglooReward(item))
            {
                prefabKey = IglooConfirmationPrefabKey;
            }
            else if (flag)
            {
                prefabKey = ConsumableConfirmationPrefabKey;
            }
            else if (!DisneyStoreUtils.IsItemOwned(item))
            {
                prefabKey = PurchaseConfirmationPrefabKey;
            }
            CoroutineRunner.Start(loadConfirmation(prefabKey, item, icon, shopItem), this, "");
        }
示例#14
0
        private void loadItemIcon(DisneyStoreItemData item)
        {
            if (item.Definition.Icon != null && !string.IsNullOrEmpty(item.Definition.Icon.Key))
            {
                Content.LoadAsync(onCustomIconLoadComplete, item.Definition.Icon);
                return;
            }
            List <DReward> rewards = item.GetRewards();

            switch (rewards[0].Category)
            {
            case RewardCategory.equipmentTemplates:
            {
                Dictionary <int, TemplateDefinition> dictionary2 = Service.Get <GameData>().Get <Dictionary <int, TemplateDefinition> >();
                if (dictionary2.TryGetValue((int)rewards[0].UnlockID, out var value2))
                {
                    Texture2DContentKey equipmentIconPath = EquipmentPathUtil.GetEquipmentIconPath(value2.AssetName);
                    Content.LoadAsync(delegate(string key, Texture2D texture)
                        {
                            onIconReady(texture, 0);
                        }, equipmentIconPath);
                }
                break;
            }

            case RewardCategory.equipmentInstances:
                renderRewardItem(rewards[0].EquipmentRequest.definitionId, CustomEquipmentResponseAdaptor.ConvertResponseToCustomEquipment(rewards[0].EquipmentRequest));
                break;

            case RewardCategory.decorationInstances:
            {
                Dictionary <int, DecorationDefinition> dictionary = Service.Get <GameData>().Get <Dictionary <int, DecorationDefinition> >();
                if (dictionary.TryGetValue((int)rewards[0].UnlockID, out var value))
                {
                    Content.LoadAsync(delegate(string path, Texture2D asset)
                        {
                            onIconReady(asset, 1);
                        }, value.Icon);
                }
                break;
            }
            }
        }
 public override void SetItem(DisneyStoreItemData item, Sprite icon, DisneyStoreFranchise storeFranchise, IDisneyStoreController storeController, DisneyStoreFranchiseItem shopItem, RectTransform scrollRectTransform)
 {
     IconImage.sprite     = icon;
     this.storeFranchise  = storeFranchise;
     this.storeController = storeController;
     this.item            = item;
     this.shopItem        = shopItem;
     TitleText.text       = Service.Get <Localizer>().GetTokenTranslation(item.Definition.TitleToken);
     DescriptionText.text = Service.Get <Localizer>().GetTokenTranslation(item.Definition.DescriptionToken);
     setState(ConfirmationState.Pending);
     setPurchaseCount(1);
     EquipPanel.SetActive(isItemEquippable(item));
     selectTrayIcons(item);
     setPurchaseActionText(item);
     GetComponent <StoreItemConfirmationPlacement>().PositionConfirmation((RectTransform)shopItem.transform, scrollRectTransform);
     logItemViewed(item);
     singleItemCost = getItemCost(item.Definition);
     CostText.text  = singleItemCost.ToString();
 }
示例#16
0
        public static bool IsItemOwned(DisneyStoreItemData item)
        {
            List <DReward> rewards = item.GetRewards();

            for (int i = 0; i < rewards.Count; i++)
            {
                if (rewards[i].Category == RewardCategory.equipmentInstances)
                {
                    if (!InventoryUtils.IsCustomEquipmentOwned(rewards[i].EquipmentRequest))
                    {
                        return(false);
                    }
                }
                else if (Enum.IsDefined(typeof(ProgressionUnlockCategory), rewards[i].Category.ToString()))
                {
                    ProgressionUnlockCategory category = (ProgressionUnlockCategory)Enum.Parse(typeof(ProgressionUnlockCategory), rewards[i].Category.ToString());
                    if (!Service.Get <ProgressionService>().IsUnlocked(rewards[i].UnlockID, category))
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }
 public abstract void SetItem(DisneyStoreItemData item, Sprite icon, DisneyStoreFranchise storeFranchise, IDisneyStoreController storeController, DisneyStoreFranchiseItem shopItem, RectTransform scrollRectTransform);
 protected void logItemViewed(DisneyStoreItemData item)
 {
     Service.Get <ICPSwrveService>().Action("game.disney_store_item_view", item.Definition.name, item.GetRewards()[0].Category.ToString());
 }