Ejemplo n.º 1
0
    public void Buy()
    {
        if (!Progress.CanAfford(offer))
        {
            AudioController.Instance.PlaySound("not_enough_money");
            return;
        }

        AudioController.Instance.PlaySound("cashier");

        Progress.Candy -= offer.price;

        switch (offer.offerType)
        {
        case OfferType.BuyBanana:
            Progress.ModAmmo(UsableType.Banana, 1);
            break;

        case OfferType.BuyDummy:
            Progress.ModAmmo(UsableType.Dummy, 1);
            break;

        case OfferType.BalloonUpgrade:
            Progress.UpgradeUsable(UsableType.Balloon);
            break;

        case OfferType.HouseUpgrade:
            Progress.UpgradeHouse();
            break;
        }

        if (!offer.singlePurchase)
        {
            return;
        }

        Progress.RemoveOffer(offer);
        if (offer.nextLevel == null)
        {
            Destroy(this.gameObject);
        }
        else
        {
            Progress.AddOffer(offer.nextLevel);
            offer = offer.nextLevel;
            UpdateDisplay();
        }
    }
Ejemplo n.º 2
0
        public void MarkAsShown(string offerId, ShopOfferPlacementType placement, ShopOffer shopOffer, bool popup)
        {
            OfferDataStateEntry entry          = AllOffersState.Where(y => y.OfferId == offerId).SingleOrDefault();
            PlacementTypeState  entryPlacement = AllPlacementTypeState.Where(y => y.PlacementType == placement).SingleOrDefault();

            if (entry == null)
            {
                entry                = new OfferDataStateEntry();
                entry.OfferId        = offerId;
                entry.ActivationDate = DateTime.UtcNow;
                entry.LastTimeShown  = DateTime.MinValue;
                AllOffersState.Add(entry);
            }
            else
            {
                if (shopOffer.Duration > 0)
                {
                    if (DateTime.UtcNow > entry.ActivationDate.AddHours(shopOffer.Duration))
                    {
                        entry.ActivationDate = DateTime.UtcNow;
                    }
                }
            }

            if (popup)
            {
                if (entryPlacement == null)
                {
                    entryPlacement = new PlacementTypeState();
                    entryPlacement.PlacementType = placement;
                    AllPlacementTypeState.Add(entryPlacement);
                }
                entryPlacement.LastTimeShown = DateTime.UtcNow;

                entry.LastTimeShown = DateTime.UtcNow;
            }



#if !BACKOFFICE
            CloudScriptMethod cloudScriptMethod = new CloudScriptMethod("RegisterOfferState", false);
            cloudScriptMethod.Params.Add("offerId", offerId);
            cloudScriptMethod.Params.Add("placement", placement.ToString());
            cloudScriptMethod.Params.Add("popup", popup.ToString());
            PlayFabManager.Instance.AddToStack("RegisterOfferState", cloudScriptMethod);
#endif
        }
Ejemplo n.º 3
0
    public void BuyShopOffer(ShopOffer sh)
    {
        // buy by product id
        //    Purchaser.purchaser.buyOffer(sh);
        Debug.Log(">>>> buy btn > " + sh.id);
        if (sh.id == Purchaser.STARTER_PACK)
        {
            Purchaser.purchaser.BuyStarterPack();
            PlayerController.player.boughtStarter = true;
            SetUpOffers("pack_static");
            AnalyticsController.Instance.LogIAPEvent(Purchaser.STARTER_PACK);
        }
        if (sh.id == Purchaser.WEEKEND_PACK)
        {
            Purchaser.purchaser.BuyWeekendPack();
            SetUpOffers("pack_static");
            AnalyticsController.Instance.LogIAPEvent(Purchaser.WEEKEND_PACK);
        }
        if (sh.id == Purchaser.STATIC_PACK)
        {
            Purchaser.purchaser.BuyStaticPack();

            AnalyticsController.Instance.LogIAPEvent(Purchaser.STARTER_PACK);
        }
        if (sh.id == Purchaser.SPECIAL_PACK_1)
        {
            Purchaser.purchaser.BuySpecialPack_1();

            AnalyticsController.Instance.LogIAPEvent(Purchaser.SPECIAL_PACK_1);
        }
        if (sh.id == Purchaser.SPECIAL_PACK_2)
        {
            Purchaser.purchaser.BuySpecialPack_2();

            AnalyticsController.Instance.LogIAPEvent(Purchaser.SPECIAL_PACK_2);
        }
        if (sh.id == Purchaser.SPECIAL_PACK_3)
        {
            Purchaser.purchaser.BuySpecialPack_3();

            AnalyticsController.Instance.LogIAPEvent(Purchaser.SPECIAL_PACK_3);
        }
    }
Ejemplo n.º 4
0
 public void Initialize(ShopOffer offer, Text descriptionText = null)
 {
     this.offer           = offer;
     this.descriptionText = descriptionText;
     UpdateDisplay();
 }
Ejemplo n.º 5
0
 public void buyOffer(ShopOffer o)
 {
     BuyProductID(o.id);
 }
Ejemplo n.º 6
0
 public static void RemoveOffer(ShopOffer offer)
 {
     data.offers.Remove(offer);
 }
Ejemplo n.º 7
0
 public static void AddOffer(ShopOffer offer)
 {
     data.offers.Add(offer);
 }
Ejemplo n.º 8
0
 public static bool CanAfford(ShopOffer offer)
 {
     return(Candy >= offer.price);
 }