コード例 #1
0
    public void SelectBanner()
    {
        displayPromoIndex = promos.Count == 0 ? 0 : displayPromoIndex % promos.Count;
        activePromo       = promos.Count == 0 ? UB_PromoDisplay.EMPTY_PROMO : promos[displayPromoIndex];
        AdjustSlotDisplay(displayPromoIndex);

        ViewSaleBtn.SetActive(!string.IsNullOrEmpty(PF_GameData.GetEventSaleStore(activePromo.EventKey)));
        PlayEventBtn.SetActive(activePromo.linkedAd == null && PF_GameData.GetEventAssociatedLevels(activePromo.EventKey).Count > 0);
        WatchAdBtn.SetActive(activePromo.linkedAd != null);

        if (activePromo.EventKey != null) // Event Type
        {
            selectedDesc.text  = activePromo.Description;
            selectedTitle.text = activePromo.Title;
        }
        else if (activePromo.linkedAd != null)  // Ad Type
        {
            var qtyString = string.Format("{0}", activePromo.linkedAd.Details.PlacementViewsRemaining == null ? "UNLIMITED rewarded ads." : activePromo.linkedAd.Details.PlacementViewsRemaining + " more rewarded ads.");
            selectedDesc.text  = activePromo.linkedAd.Details.RewardDescription + " You may watch " + qtyString;
            selectedTitle.text = activePromo.linkedAd.Details.RewardName;
        }
        else
        {
            selectedDesc.text  = GlobalStrings.NO_EVENTS_MSG;
            selectedTitle.text = "";
        }

        if (activePromo.assets.Banner != null)
        {
            PromoBanner.overrideSprite = Sprite.Create(activePromo.assets.Banner, new Rect(0, 0, activePromo.assets.Banner.width, activePromo.assets.Banner.height), new Vector2(0.5f, 0.5f));
        }
    }
コード例 #2
0
    public void Init()
    {
        _timeSinceMove = Time.time;

        if (PF_GameData.PromoAssets.Count == 0)
        {
            return;
        }

        promos.Clear();
        foreach (var item in PF_GameData.PromoAssets)
        {
            var promo = new UB_PromoDisplay {
                assets = item
            };

            UB_EventData ev;
            if (PF_GameData.Events.TryGetValue(item.PromoId, out ev))
            {
                promo.EventKey    = ev.EventKey;
                promo.Title       = ev.EventName;
                promo.Description = ev.EventDescription;
                promos.Add(promo);
            }
        }

        SetAdSlotCount(promos.Count);
        SelectBanner();
        CheckForPlayFabPlacement();
    }
コード例 #3
0
    public void SelectBanner(UB_PromoDisplay newPromo, int index)
    {
        activePromo = newPromo;
        AdjustSlotDisplay(index);

        PlayEventBtn.SetActive(activePromo.linkedEvent != null);
        ViewSaleBtn.SetActive(activePromo.linkedSale != null || (activePromo.linkedEvent != null && !string.IsNullOrEmpty(activePromo.linkedEvent.StoreToUse)));

        if (activePromo.linkedSale != null) // Sale Type
        {
            selectedDesc.text  = activePromo.linkedSale.SaleDescription;
            selectedTitle.text = activePromo.linkedSale.SaleName;
        }
        else if (activePromo.linkedEvent != null) // Event Type
        {
            selectedDesc.text  = activePromo.linkedEvent.EventDescription;
            selectedTitle.text = activePromo.linkedEvent.EventName;
        }
        else
        {
            selectedDesc.text  = GlobalStrings.NO_EVENTS_MSG;
            selectedTitle.text = "";
        }

        if (activePromo.assets.Banner != null)
        {
            PromoBanner.sprite = Sprite.Create(activePromo.assets.Banner, new Rect(0, 0, activePromo.assets.Banner.width, activePromo.assets.Banner.height), new Vector2(0.5f, 0.5f));
        }
        else
        {
            PromoBanner.sprite = null;
        }
    }
コード例 #4
0
 static UB_PromoDisplay()
 {
     EMPTY_PROMO                   = new UB_PromoDisplay();
     EMPTY_PROMO.assets            = new UB_UnpackedAssetBundle();
     EMPTY_PROMO.assets.Banner     = null;
     EMPTY_PROMO.assets.ContentKey = "none";
     EMPTY_PROMO.assets.PromoId    = "none";
     EMPTY_PROMO.assets.Splash     = null;
     EMPTY_PROMO.linkedEvent       = null;
     EMPTY_PROMO.linkedSale        = null;
 }
コード例 #5
0
 static UB_PromoDisplay()
 {
     EMPTY_PROMO = new UB_PromoDisplay {
         assets = new UB_UnpackedAssetBundle {
             Banner     = null,
             ContentKey = "none",
             PromoId    = "none",
             Splash     = null
         },
         linkedAd    = null,
         EventKey    = null,
         Title       = null,
         Description = null
     };
 }
コード例 #6
0
    public void AddAdPromo(AdPlacementDetails details)
    {
        var adPromo = new UB_PromoDisplay();

        adPromo.linkedAd = new UB_AdData {
            Details = details
        };
        adPromo.assets         = new UB_UnpackedAssetBundle();
        adPromo.assets.Banner  = defaultVideoBanner;
        adPromo.assets.PromoId = details.PlacementId;
        promos.Add(adPromo);

        SetAdSlotCount(promos.Count);
        displayPromoIndex = promos.Count - 1;
        SelectBanner();
    }
コード例 #7
0
    public void Init()
    {
        // load sales or load default banners
        // set up ad circles
        timeSinceMove = Time.time;

        if (PF_GameData.PromoAssets.Count > 0)
        {
            promos.Clear();
            foreach (var item in PF_GameData.PromoAssets)
            {
                UB_PromoDisplay promo = new UB_PromoDisplay()
                {
                    assets = item
                };

                if (item.ContentKey.Contains("events"))
                {
                    UB_EventData ev = null;
                    PF_GameData.Events.TryGetValue(item.PromoId, out ev);
                    promo.linkedEvent = ev;
                    promo.linkedSale  = null;
                }
                else
                {
                    UB_SaleData sl = null;
                    PF_GameData.Sales.TryGetValue(item.PromoId, out sl);
                    promo.linkedSale  = sl;
                    promo.linkedEvent = null;
                }

                promos.Add(promo);
            }

            SetAdSlotCount(promos.Count);
            SelectBanner(promos[0], 0);
        }
    }