Exemple #1
0
 public OnPurchaseProduct(E_ProductsId id, int count, bool isSuccess, string type = "Purchase")
     : base(type)
 {
     this.id        = id;
     this.count     = count;
     this.isSuccess = isSuccess;
 }
Exemple #2
0
    public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args)
    {
        // A consumable product has been purchased by this user.
        if (String.Equals(args.purchasedProduct.definition.id, _purchasingKey, StringComparison.Ordinal))
        {
            PrintDebug(string.Format("ProcessPurchase: PASS. Product: '{0}'", args.purchasedProduct.definition.id));
            //If the item has been successfully purchased, store the item for later use!
            PrintDebug("Purchase Success");
            E_ProductsId id = (E_ProductsId)System.Enum.Parse(typeof(E_ProductsId), args.purchasedProduct.definition.id);

            if (args.purchasedProduct.definition.id == keyNoAds)
            {
                GameModel.Instance.isPremiumUser = true;
            }
            else
            {
                Events.instance.Raise(new OnPurchaseProduct(id, returns[id], true));
            }
        }
        else
        {
            PrintDebug(string.Format("ProcessPurchase: FAIL. Unrecognized product: '{0}'", args.purchasedProduct.definition.id));
            E_ProductsId id = (E_ProductsId)System.Enum.Parse(typeof(E_ProductsId), args.purchasedProduct.definition.id);
            Events.instance.Raise(new OnPurchaseProduct(id, returns[id], false));
        }
        // Return a flag indicating wither this product has completely been received, or if the application needs to be reminded of this purchase at next app launch. Is useful when saving purchased products to the cloud, and when that save is delayed.
        return(PurchaseProcessingResult.Complete);
    }
Exemple #3
0
    public void OnPurchaseFailed(Product product, PurchaseFailureReason failureReason)
    {
        // A product purchase attempt did not succeed. Check failureReason for more detail. Consider sharing this reason with the user.
        PrintDebug(string.Format("OnPurchaseFailed: FAIL. Product: '{0}', PurchaseFailureReason: {1}", product.definition.storeSpecificId, failureReason));
        E_ProductsId id = (E_ProductsId)System.Enum.Parse(typeof(E_ProductsId), product.definition.id);

        Events.instance.Raise(new OnPurchaseProduct(id, returns[id], false));
    }
Exemple #4
0
 private void UpdateValueForItem(E_ProductsId productId, string price)
 {
     foreach (var item in items)
     {
         if (item.id == productId)
         {
             item.cost.text = price;
         }
     }
 }
Exemple #5
0
 private StoreItem GetItemById(E_ProductsId productId)
 {
     foreach (var item in items)
     {
         if (item.id == productId)
         {
             return(item);
         }
     }
     return(null);
 }
Exemple #6
0
    private void OnProdtsReceived(GameEvent e)
    {
        OnProductsReceived evt = (OnProductsReceived)e;

        foreach (var item in evt.products)
        {
            E_ProductsId prodId = GetIdFromString(item.definition.id);
            UpdateValueForItem(prodId, item.metadata.localizedPriceString);
            if (prodId == E_ProductsId.noAds)
            {
                GetItemById(prodId).purchased.SetActive(GameModel.Instance.isPremiumUser);
            }
        }
    }