/// <summary> /// Init the specified pItem, pUtils, pGroupId, pActionResetCacheGroup and pList. /// </summary> /// <param name="pItem">P item.</param> /// <param name="pUtils">P utils.</param> /// <param name="pGroupId">P group identifier.</param> /// <param name="pActionResetCacheGroup">P action reset cache group.</param> /// <param name="pList">If set to <c>true</c> p list.</param> public void init(XsollaShopItem pItem, XsollaUtils pUtils, int pGroupId, Action <int, bool> pActionResetCacheGroup, bool pList) { mItem = pItem; mUtils = pUtils; mGroupId = pGroupId; mActionResetCacheGroup = pActionResetCacheGroup; mIsListLayoutItem = pList; // Загружаем картинку mImgLoader.LoadImage(mItemImg, pItem.GetImageUrl()); // Задаем название mItemName.text = pItem.GetName(); // Задаем короткое описание mShortDesc.text = pItem.GetDescription(); // Дефолтное состояние прогресс бара ProgressBarBuyBtn(false); // Задаем полное описание if (mLongCanvas != null) { Resizer.ResizeToParrentRe(mLongCanvas.gameObject); } // Если полное описание пустое, то скрываем ссылку if (pItem.GetLongDescription() != "") { mLongDesc.text = pItem.GetLongDescription(); } else { mLongDescLink.gameObject.SetActive(false); } // Задаем иконку любимого товара SetFavoriteState(); mFav.gameObject.GetComponent <Button>().onClick.AddListener(delegate { ChangeFavState(); }); // Задаем состояние длинного описания LongDescState = false; mLongDescLink.GetComponent <Button>().onClick.AddListener(delegate { SetStateLongState(!mLongDescState); }); // Блокируем минус if (mQuantityMinus != null) { mQuantityMinus.interactable = false; } // Задаем поля для лэндинга list SetListLandingItem(pItem); // Рекламный блок SetAdBlock(pItem); // Ценовой блок SetAmountBlock(pItem.vcAmount, pItem.vcAmountWithoutDiscount, pItem.amount, pItem.amountWithoutDiscount, pItem.currency); }
protected override void SubsManagerListRecived(XsollaManagerSubscriptions pSubsList) { if (_SubsManagerController == null) { GameObject obj = Instantiate(Resources.Load(PREFAB_SCREEN_SUBSCRIPTION_MANAGER)) as GameObject; _SubsManagerController = obj.GetComponent <SubsManagerController>(); _SubsManagerController.initScreen(Utils, pSubsList); obj.transform.SetParent(mainScreenContainer.transform); obj.GetComponent <RectTransform>().anchoredPosition = new Vector2(0, 0); Resizer.ResizeToParrentRe(obj); Resizer.SetDefScale(obj); } else { _SubsManagerController.initScreen(Utils, pSubsList); } SetLoading(false); }
/// <summary> /// Sets the amount block. /// </summary> /// <param name="pVcAmount">P vc amount.</param> /// <param name="pVcAmountWithoutDiscount">P vc amount without discount.</param> /// <param name="pAmount">P amount.</param> /// <param name="pAmountWithoutDiscount">P amount without discount.</param> /// <param name="pCurrency">P currency.</param> private void SetAmountBlock(Decimal pVcAmount, Decimal pVcAmountWithoutDiscount, Decimal pAmount, Decimal pAmountWithoutDiscount, String pCurrency) { // Виртуальная покупка или нет if (mItem.IsVirtualPayment()) { if (pVcAmount == pVcAmountWithoutDiscount) { mAmount.text = pVcAmount.ToString("N2"); } else { mAmount.text = pVcAmountWithoutDiscount.ToString("N2") + " " + pVcAmount.ToString("N2"); } if (mUtils.GetProject().virtualCurrencyIconUrl != "null") { // если тут придется ошибка с загрузкой, нужно залить альфа канал mImgLoader.LoadImage(mVcIcon, mUtils.GetProject().virtualCurrencyIconUrl); } else { mAmount.text = mAmount.text + " " + mUtils.GetProject().virtualCurrencyName; mVcIcon.gameObject.SetActive(false); } mCurrency.gameObject.SetActive(false); } else { mVcIcon.gameObject.SetActive(false); if (pAmount == pAmountWithoutDiscount) { mAmount.text = CurrencyFormatter.Instance.FormatPrice(pCurrency, pAmount); } else { mOldAmount.enabled = true; mOldAmount.text = CurrencyFormatter.Instance.FormatPrice(pCurrency, pAmountWithoutDiscount); mAmount.text = CurrencyFormatter.Instance.FormatPrice(pCurrency, pAmount); } } // Название для кнопки покупки mBtnBuyText.text = mUtils.GetTranslations().Get("virtual_item_option_button"); // Если цена должна быть в кнопке if (mUtils.GetSettings().mDesktop.pVirtItems.mButtonWithPrice) { // Скрываем текст самой кнопки mBuyBtn.GetComponentInChildren <Text>().gameObject.SetActive(false); // Переносим ценовой блок в кнопку mAmountPanel.transform.SetParent(mBuyBtn.transform); // Растягиваем Resizer.ResizeToParrentRe(mAmountPanel); // Меняем цвет текстов IEnumerator lEnum = mAmountPanel.transform.GetComponentsInChildren <ColorController>().GetEnumerator(); while (lEnum.MoveNext()) { (lEnum.Current as ColorController).itemsToColor[0].color = StyleManager.BaseColor.txt_white; } } mBuyBtn.GetComponent <Button>().onClick.AddListener(delegate { BuyClick(mItem); }); }