private void addShopCellToList(ShopEntry shopEntry, ShopEntryInstance shopEntryInstance, RectTransform parentTm) { ShopPurchaseController controller = this.createShopPurchaseController(shopEntry, shopEntryInstance); string str = StringExtensions.ToUpperLoca(_.L(ConfigLoca.VENDOR_SOLD_OUT, null, false)); Card.Content content2 = new Card.Content(); content2.Obj = controller; content2.Text = StringExtensions.ToUpperLoca(controller.getTitle()); content2.Sprite = controller.getSprite(); content2.Interactable = controller.isPurchaseable(); content2.Grayscale = !controller.isPurchaseable(); content2.PriceText = controller.getPriceText(1); content2.PriceIcon = controller.getPriceIcon(); content2.SoldText = !controller.isSold() ? null : str; content2.StickerText = controller.getStickerText(); Card.Content content = content2; if (controller.payWithAd() && !Service.Binder.AdsSystem.initialized()) { content.SoldText = str; } Card item = PlayerView.Binder.CardButtonPool.getObject(); item.transform.SetParent(parentTm, false); item.initialize(content, new Action <Card>(this.onCardClicked)); this.m_vendorCards.Add(item); item.gameObject.SetActive(true); }
private void onCardClicked(Card card) { if (!PlayerView.Binder.MenuSystem.InTransition) { MiniPopupMenu.InputParameters parameters3; if (card.ActiveContent.Obj is PlayerAugmentation) { Player player = GameLogic.Binder.GameState.Player; PlayerAugmentation augmentation = (PlayerAugmentation)card.ActiveContent.Obj; if (player.Augmentations.canBuy(augmentation.Id)) { parameters3 = new MiniPopupMenu.InputParameters(); parameters3.MenuContentParams = card.ActiveContent.Obj; MiniPopupMenu.InputParameters parameter = parameters3; PlayerView.Binder.MenuSystem.transitionToMenu(MenuType.MiniPopupMenu, MenuContentType.VendorMiniPopupContent, parameter, 0f, false, true); } } else if (card.ActiveContent.Obj is ShopPurchaseController) { ShopPurchaseController controller = (ShopPurchaseController)card.ActiveContent.Obj; if (controller.isPurchaseable()) { bool flag = controller.getRefShopEntry().Type == ShopEntryType.IapDiamonds; if (App.Binder.ConfigMeta.DISABLE_VENDOR_ADS_CONFIRMATION_POPUP && controller.payWithAd()) { flag = true; } if (flag) { controller.purchase(1); } else { parameters3 = new MiniPopupMenu.InputParameters(); parameters3.MenuContentParams = card.ActiveContent.Obj; MiniPopupMenu.InputParameters parameters2 = parameters3; PlayerView.Binder.MenuSystem.transitionToMenu(MenuType.MiniPopupMenu, MenuContentType.VendorMiniPopupContent, parameters2, 0f, false, true); } } } } }
protected override void onPreShow([Optional, DefaultParameterValue(null)] object param) { RewardGalleryCell.Content content4; MiniPopupEntry entry3; MiniPopupMenu contentMenu = (MiniPopupMenu)base.m_contentMenu; this.m_param = param; this.m_shopPurchaseController = null; if (param is PlayerAugmentation) { contentMenu.MainButton.gameObject.SetActive(true); this.DualButtonLeft.gameObject.SetActive(false); this.DualButtonRight.gameObject.SetActive(false); PlayerAugmentation augmentation = (PlayerAugmentation)param; SpriteAtlasEntry sprite = null; string overrideDescriptionTextLocalized = null; string str2 = null; if (augmentation.PerkInstance != null) { ConfigPerks.SharedData data = ConfigPerks.SHARED_DATA[augmentation.PerkInstance.Type]; sprite = data.Sprite; overrideDescriptionTextLocalized = _.L(ConfigLoca.MINIPOPUP_AUGMENTATIONS_DESCRIPTION, new < > __AnonType24 <string>(_.L(data.ShortDescription, null, false)), false); str2 = MenuHelpers.BigModifierToString(augmentation.PerkInstance.Modifier, true); } content4 = new RewardGalleryCell.Content(); content4.Sprite = sprite; content4.Text = str2; RewardGalleryCell.Content rewardContent = content4; string overrideButtonText = MenuHelpers.BigValueToString(App.Binder.ConfigMeta.GetAugmentationPrice(augmentation.Id)); SpriteAtlasEntry atlasEntry = ConfigUi.RESOURCE_TYPE_SPRITES[ResourceType.Token]; entry3 = new MiniPopupEntry(); entry3.TitleText = ConfigLoca.MINIPOPUP_AUGMENTATIONS_TITLE; contentMenu.populateLayout(entry3, true, rewardContent, overrideButtonText, PlayerView.Binder.SpriteResources.getSprite(atlasEntry), overrideDescriptionTextLocalized); } else if (param is ShopPurchaseController) { ShopPurchaseController controller = (ShopPurchaseController)param; this.m_shopPurchaseController = new ShopPurchaseController(controller.ShopEntry, controller.ShopEntryInstance, PathToShopType.Vendor, new System.Action(this.onShopClosed), new Action <ShopEntry, PurchaseResult>(this.onShopPurchaseCompleted)); content4 = new RewardGalleryCell.Content(); content4.Sprite = controller.getSprite(); content4.StickerText = controller.getStickerText(); RewardGalleryCell.Content content2 = content4; if (controller.payWithAd()) { contentMenu.MainButton.gameObject.SetActive(true); this.DualButtonLeft.gameObject.SetActive(false); this.DualButtonRight.gameObject.SetActive(false); double v = controller.getAmount(); content2.Text = (v <= 1.0) ? null : ("+" + MenuHelpers.BigValueToString(v)); entry3 = new MiniPopupEntry(); entry3.TitleText = ConfigLoca.MINIPOPUP_ADS_VENDOR_TITLE; contentMenu.populateLayout(entry3, true, content2, StringExtensions.ToUpperLoca(_.L(ConfigLoca.UI_PROMPT_WATCH, null, false)), null, _.L(ConfigLoca.MINIPOPUP_SPECIAL_OFFER_DESCRIPTION, null, false)); } else if (controller.getRefShopEntry().Type == ShopEntryType.MegaBoxBundle) { contentMenu.MainButton.gameObject.SetActive(true); this.DualButtonLeft.gameObject.SetActive(false); this.DualButtonRight.gameObject.SetActive(false); double num2 = ConfigShops.CalculateMegaBoxBundleSize(controller.getRefShopEntry().Id); string str4 = null; if (num2 > 1.0) { str4 = _.L(ConfigLoca.MINIPOPUP_MEGABOX_DESCRIPTION_MANY, new < > __AnonType9 <string>(num2.ToString("0")), false); } else { str4 = _.L(ConfigLoca.MINIPOPUP_MEGABOX_DESCRIPTION_SINGLE, null, false); } entry3 = new MiniPopupEntry(); entry3.TitleText = ConfigLoca.MINIPOPUP_MEGABOX_TITLE; contentMenu.populateLayout(entry3, true, content2, controller.getPriceText(1), PlayerView.Binder.SpriteResources.getSprite(controller.getPriceIcon()), str4); } else if (controller.getPurchasesRemaining() > 1) { contentMenu.MainButton.gameObject.SetActive(false); this.DualButtonLeft.gameObject.SetActive(true); this.DualButtonRight.gameObject.SetActive(true); this.DualButtonLeft.CornerText.text = "1x"; this.DualButtonLeft.Text.text = controller.getPriceText(1); this.DualButtonLeft.Icon.sprite = PlayerView.Binder.SpriteResources.getSprite(controller.getPriceIcon()); int numPurchases = controller.getPurchasesRemaining(); this.DualButtonRight.CornerText.text = numPurchases + "x"; this.DualButtonRight.Text.text = controller.getPriceText(numPurchases); this.DualButtonRight.Icon.sprite = PlayerView.Binder.SpriteResources.getSprite(controller.getPriceIcon()); double num4 = controller.getAmount(); content2.Text = (num4 <= 1.0) ? null : ("+" + MenuHelpers.BigValueToString(num4)); entry3 = new MiniPopupEntry(); entry3.TitleText = ConfigLoca.MINIPOPUP_BASIC_VENDOR_TITLE; contentMenu.populateLayout(entry3, false, content2, null, null, _.L(ConfigLoca.MINIPOPUP_BASIC_VENDOR_DESCRIPTION, null, false)); } else { contentMenu.MainButton.gameObject.SetActive(true); this.DualButtonLeft.gameObject.SetActive(false); this.DualButtonRight.gameObject.SetActive(false); double num5 = controller.getAmount(); content2.Text = (num5 <= 1.0) ? null : ("+" + MenuHelpers.BigValueToString(num5)); entry3 = new MiniPopupEntry(); entry3.TitleText = ConfigLoca.MINIPOPUP_BASIC_VENDOR_TITLE; contentMenu.populateLayout(entry3, true, content2, controller.getPriceText(1), PlayerView.Binder.SpriteResources.getSprite(controller.getPriceIcon()), _.L(ConfigLoca.MINIPOPUP_BASIC_VENDOR_DESCRIPTION, null, false)); } } else if (param is TournamentView) { this.m_tournamentView = (TournamentView)param; contentMenu.MainButton.gameObject.SetActive(false); this.DualButtonLeft.gameObject.SetActive(true); this.DualButtonRight.gameObject.SetActive(true); double num6 = this.m_tournamentView.Instance.getDonationPrice(); this.DualButtonLeft.CornerText.text = "1x"; this.DualButtonLeft.Text.text = num6.ToString("0"); this.DualButtonLeft.Icon.sprite = PlayerView.Binder.SpriteResources.getSprite(ConfigUi.RESOURCE_TYPE_SPRITES[ResourceType.Diamond]); int num7 = this.m_tournamentView.Instance.getDonationsRemaining(); this.DualButtonRight.CornerText.text = num7 + "x"; this.DualButtonRight.Text.text = (num7 * num6).ToString("0"); this.DualButtonRight.Icon.sprite = this.DualButtonLeft.Icon.sprite; content4 = new RewardGalleryCell.Content(); content4.Sprite = new SpriteAtlasEntry("Menu", "icon_cardpack_floater"); RewardGalleryCell.Content content3 = content4; entry3 = new MiniPopupEntry(); entry3.TitleText = ConfigLoca.UI_BUTTON_INFO; contentMenu.populateLayout(entry3, false, content3, null, null, _.L(ConfigLoca.ADVPANEL_DONATE_DESCRIPTION, null, false)); } this.onRefresh(); }