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(); } }
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 }
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); } }
public void Initialize(ShopOffer offer, Text descriptionText = null) { this.offer = offer; this.descriptionText = descriptionText; UpdateDisplay(); }
public void buyOffer(ShopOffer o) { BuyProductID(o.id); }
public static void RemoveOffer(ShopOffer offer) { data.offers.Remove(offer); }
public static void AddOffer(ShopOffer offer) { data.offers.Add(offer); }
public static bool CanAfford(ShopOffer offer) { return(Candy >= offer.price); }