コード例 #1
0
        public override int GetElementType(int id)
        {
            XsollaPricepoint pricepoint = GetItem(id);

            switch (pricepoint.label)
            {
            case null:
            case "null":
            case "":
                if (pricepoint.IsSpecialOffer())
                {
                    return(SPECIAL_OFFER);
                }
                return(NORMAL);

            case "RECOMMENDED":
                return(RECOMMENDED);

            case "BEST DEAL":
                return(BEST_DEAL);

            default:
                return(NORMAL);
            }
        }
コード例 #2
0
        public void init(XsollaPricepoint pItem, XsollaUtils pUtils)
        {
            mItem  = pItem;
            mUtils = pUtils;

            // Загружаем картинку
            if (pItem.image != "null")
            {
                mImgLoader.LoadImage(mItemImg, pItem.GetImageUrl());
            }
            else
            if (pUtils.GetProject().virtualCurrencyIconUrl != "null")
            {
                mImgLoader.LoadImage(mItemImg, pUtils.GetProject().virtualCurrencyIconUrl);
            }
            else
            {
                mItemImg.color = new Color(255, 255, 255, 0);
            }

            // Задаем короткое описание
            mShortDesc.text = pItem.GetDescription();

            // Задаем название
            mItemName.text = pUtils.GetProject().isDiscrete ? pItem.outAmount.ToString("N2") : pItem.outAmount.ToString("##.00");
            mVcCurr.text   = mUtils.GetProject().virtualCurrencyName;

            // Рекламный блок
            SetAdBlock(pItem);
            // Ценовой блок
            SetAmountBlock(pItem.sum, pItem.sumWithoutDiscount, pItem.currency);
        }
コード例 #3
0
        public static StyleManager.BaseSprite SetAdBlockItem(XsollaPricepoint pItem, XsollaUtils pUtils, Text pLabel, Image pPanel)
        {
            bool isOffer = (pItem.sum != pItem.sumWithoutDiscount) || (pItem.bonusItems.Count > 0);

            String lDisplaLabel;

            if (isOffer)
            {
                lDisplaLabel = pItem.offerLabel != "" ? pItem.offerLabel : pUtils.GetTranslations().Get("option_offer_desktop");
            }
            else
            {
                lDisplaLabel = pItem.label;
            }

            if (!isOffer && pItem.advertisementType != AXsollaShopItem.AdType.NONE)
            {
                switch (pItem.advertisementType)
                {
                case AXsollaShopItem.AdType.BEST_DEAL:
                {
                    pLabel.text    = pItem.label;
                    pPanel.enabled = true;
                    pPanel.sprite  = StyleManager.Instance.GetSprite(StyleManager.BaseSprite.bckg_bd_panel);
                    return(StyleManager.BaseSprite.bckg_item_bd);
                }

                case AXsollaShopItem.AdType.RECCOMENDED:
                {
                    pLabel.text    = pItem.label;
                    pPanel.enabled = true;
                    pPanel.sprite  = StyleManager.Instance.GetSprite(StyleManager.BaseSprite.bckg_ad_panel);
                    return(StyleManager.BaseSprite.bckg_item_ad);
                }

                case AXsollaShopItem.AdType.SPECIAL_OFFER:
                {
                    pLabel.text    = pItem.label;
                    pPanel.enabled = true;
                    pPanel.sprite  = StyleManager.Instance.GetSprite(StyleManager.BaseSprite.bckg_sales_panel);
                    return(StyleManager.BaseSprite.bckg_item_sales);
                }

                case AXsollaShopItem.AdType.CUSTOM:
                {
                    pLabel.text    = pItem.label;
                    pPanel.enabled = true;
                    pPanel.sprite  = StyleManager.Instance.GetSprite(StyleManager.BaseSprite.bckg_sales_panel);
                    return(StyleManager.BaseSprite.bckg_item_sales);
                }

                default:
                {
                    return(StyleManager.BaseSprite.bckg_item);
                }
                }
            }
            return(StyleManager.BaseSprite.bckg_item);
        }
コード例 #4
0
        private void BuyClick(XsollaPricepoint pItem)
        {
            Logger.Log("Click buy btn ");
            Dictionary <string, object> map = new Dictionary <string, object> (1);

            map.Add("out", pItem.outAmount);
            gameObject.GetComponentInParent <XsollaPaystationController> ().ChooseItem(map, false);
        }
コード例 #5
0
        public override GameObject GetView(int position)
        {
            int        type = GetElementType(position);
            GameObject shopItemInstance;

            switch (type)
            {
            case NORMAL:
                shopItemInstance = Instantiate(shopItemPrefab) as GameObject;
                break;

            case RECOMMENDED:
                shopItemInstance = Instantiate(shopItemPrefabRecomended) as GameObject;
                break;

            case BEST_DEAL:
                shopItemInstance = Instantiate(shopItemPrefabBest) as GameObject;
                break;

            case SPECIAL_OFFER:
                shopItemInstance = Instantiate(shopItemPrefabOffer) as GameObject;
                break;

            default:
                shopItemInstance = Instantiate(shopItemPrefab) as GameObject;
                break;
            }
            XsollaPricepoint    pricepoint  = GetItem(position);
            ShopItemViewAdapter itemAdapter = shopItemInstance.GetComponent <ShopItemViewAdapter>();

            itemAdapter.SetRealPrice(pricepoint.GetPriceString());
            itemAdapter.SetSpecial(pricepoint.desc);
            if ("".Equals(pricepoint.label) || "null".Equals(pricepoint.label))
            {
                itemAdapter.SetCoins(textValue);
            }
            else
            {
                itemAdapter.SetCoins(pricepoint.label);
            }
            itemAdapter.SetCoinsAmount(pricepoint.outAmount.ToString());
            itemAdapter.SetImage(pricepoint.GetImageUrl());
            itemAdapter.SetOnClickListener(() => OnClickBuy(pricepoint.outAmount));
//			ImageLoader imageLoader = GetComponent<ImageLoader> ();
//			imageLoader.LoadImage (shopItemInstance.GetComponent<Image>(), url);

            return(shopItemInstance);
        }
コード例 #6
0
        private void AddPricePointItem(XsollaPricepoint pItem)
        {
            GameObject lBaseObj = Resources.Load(PREFAB_SHOP_PRICEPOINT_GRID) as GameObject;
            // создаем экземпляр объекта товара
            GameObject lItemObj = Instantiate(lBaseObj);
            // получаем контроллер
            PricePointItemController itemController = lItemObj.GetComponent <PricePointItemController>();

            // инициализируем контроллер
            itemController.init(pItem, mUtils);
            // добавляем на панель
            lItemObj.transform.SetParent(mItemsContentGrid.transform);
            // масштабирование
            Resizer.SetDefScale(lItemObj);
            mListItems.Add(itemController);
        }
コード例 #7
0
        public override GameObject GetView(int position)
        {
            GameObject          shopItemInstance = Instantiate(shopItemPrefab) as GameObject;
            XsollaPricepoint    pricepoint       = GetItem(position);
            ShopItemViewAdapter itemAdapter      = shopItemInstance.GetComponent <ShopItemViewAdapter>();

            itemAdapter.SetImage(pricepoint.GetImageUrl());
            itemAdapter.SetName(pricepoint.GetOutString());
            itemAdapter.SetDesc(_virtualCurrencyName);
            itemAdapter.SetBuyText(_buyBtnText);
            itemAdapter.SetSpecial(pricepoint.GetDescription());
            itemAdapter.SetPrice(pricepoint.GetPriceString());
            itemAdapter.SetLabel(pricepoint.GetAdvertisementType(), pricepoint.GetLabel());
            itemAdapter.SetOnClickListener(() => OnClickBuy(pricepoint.outAmount));
            return(shopItemInstance);
        }
コード例 #8
0
        //  новая инициализация
        public void init(XsollaUtils pUtils, XsollaPricepoint pDefPackage)
        {
            mUtils = pUtils;
            if (pUtils.GetProject().isDiscrete)
            {
                virtCurrAmount.contentType = InputField.ContentType.IntegerNumber;
            }
            else
            {
                virtCurrAmount.contentType = InputField.ContentType.DecimalNumber;
            }

            btnPay.gameObject.GetComponentInChildren <Text>().text = pUtils.GetTranslations().Get("form_continue");
            FindObjectOfType <ImageLoader>().LoadImage(iconVirtCurr, pUtils.GetProject().virtualCurrencyIconUrl);

            // Задаем дефолтное значение для обсчета
            totalAmountTitle.text = mUtils.GetTranslations().Get("form_subtotal");
            virtCurrAmount.text   = pDefPackage.outAmount.ToString();
            realCurrAmount.text   = pDefPackage.sum.ToString();
            mTotalAmount.text     = CurrencyFormatter.Instance.FormatPrice(pDefPackage.currency, pDefPackage.sum);;

            virtCurrAmount.onValueChanged.AddListener(delegate
            {
                if (!mSetValues)
                {
                    CancelInvoke();
                    Invoke("RecalcVcAmount", 1);
                }
            });
            virtCurrAmount.onEndEdit.AddListener(delegate { mErrorPanel.gameObject.SetActive(false); });
            realCurrAmount.onValueChanged.AddListener(delegate
            {
                if (!mSetValues)
                {
                    CancelInvoke();
                    Invoke("RecalcAmount", 1);
                }
            });
            realCurrAmount.onEndEdit.AddListener(delegate { mErrorPanel.gameObject.SetActive(false); });

            btnPay.onClick.AddListener(delegate
            {
                BuyBtn();
            });
        }
コード例 #9
0
 private void SetAdBlock(XsollaPricepoint pItem)
 {
     StyleManager.BaseSprite lItemBckg = ShopItemHelper.SetAdBlockItem(pItem, mUtils, mAdPanel.GetComponentInChildren <Text>(), mAdPanel.GetComponent <Image>());
     SetSpecialAdBkcg(lItemBckg);
 }