public static string GetStorePrice(ShopProductNames productToCheck)
 {
     if (IAPManager.Instance.IsInitialized())
     {
         return(IAPManager.Instance.GetLocalizedPriceString(productToCheck));
     }
     return("-");
 }
Example #2
0
 public void BuyProduct(string productName)
 {
     if (products.ContainsKey(productName))
     {
         ShopProductNames shopProductName = IAPManager.Instance.ConvertNameToShopProduct(productName);
         IAPManager.Instance.BuyProduct(shopProductName, ProductBoughtCallback);
         debugger.Log("Attempting to buy a product: " + productName);
     }
 }
        public static int GetProductValue(ShopProductNames productToCheck)
        {
            if (IAPManager.Instance.IsInitialized())
            {
                return(IAPManager.Instance.GetValue(productToCheck));
            }

            return(0);
        }
Example #4
0
    public void BuyProduct(ShopProductNames shopProductName, Action productBoughtCallback = null)
    {
        if (Mediator.Instance.GameConfig.IsDebug)
        {
            BuyProductDebug();
            return;
        }

        _productBoughtCallback = productBoughtCallback;
        IAPManager.Instance.BuyProduct(shopProductName, ProductBought);
    }
Example #5
0
 /// <summary>
 /// Get additional info for subscription
 /// </summary>
 /// <param name="product">the subscription product</param>
 /// <returns>all infos available for the subscription</returns>
 public SubscriptionInfo GetSubscriptionInfo(ShopProductNames product)
 {
     if (IsInitialized())
     {
         return(shopProducts.First(cond => String.Equals(cond.productName, product.ToString())).subscriptionInfo);
     }
     else
     {
         Debug.LogError("Not Initialized -> Call IAPManager.Instance.InitializeIAPManager() before anything else");
         return(null);
     }
 }
Example #6
0
 /// <summary>
 /// Gets the status of the product
 /// </summary>
 /// <param name="product"></param>
 /// <returns>true if the product was already bought</returns>
 public bool IsActive(ShopProductNames product)
 {
     if (IsInitialized())
     {
         return(shopProducts.First(cond => String.Equals(cond.productName, product.ToString())).active);
     }
     else
     {
         Debug.LogError("Not Initialized -> Call IAPManager.Instance.InitializeIAPManager() before anything else");
         return(false);
     }
 }
Example #7
0
 /// <summary>
 /// Get title from the store
 /// </summary>
 /// <param name="product">store product</param>
 /// <returns></returns>
 public string GetLocalizedTitle(ShopProductNames product)
 {
     if (IsInitialized())
     {
         return(shopProducts.First(cond => String.Equals(cond.productName, product.ToString())).localizedTitle);
     }
     else
     {
         Debug.LogError("Not Initialized -> Call IAPManager.Instance.InitializeIAPManager() before anything else");
         return("-");
     }
 }
 public static void BuyProduct(GameObject _eventTarget, ShopProductNames productToBuy)
 {
     buyEventTarget = _eventTarget;
     if (IAPManager.Instance.IsInitialized())
     {
         IAPManager.Instance.BuyProduct(productToBuy, BuyComplete);
     }
     else
     {
         CustomEvent.Trigger(buyEventTarget, "BuyComplete", false);
     }
 }
Example #9
0
    private void ApplyNewOffer()
    {
        bool isProduct = _currentOfferData.SpecialOfferType == SpecialOfferType.Product;

        _shopProductName = _currentOfferData.ShopProductName;

        _productContainer.SetActive(isProduct);
        _subscriptionContainer.SetActive(!isProduct);

        _oldPriceField.text = $"${_currentOfferData.OldPrice}";
        _newPriceField.text = $"${_currentOfferData.NewPrice}";

        if (isProduct)
        {
            ShowSpecialOfferProduct();
        }
    }
Example #10
0
    /// <summary>
    /// call this method to buy a product
    /// </summary>
    /// <param name="productName">An enum member generated from Settings Window</param>
    /// <param name="OnCompleteMethod">callback method that returns the bought product details for initializations</param>
    public void BuyProduct(ShopProductNames productName, UnityAction <IAPOperationStatus, string, StoreProduct> OnCompleteMethod)
    {
        if (debug)
        {
            Debug.Log(this + "Buy Process Started for " + productName);
            ScreenWriter.Write(this + "Buy Process Started for " + productName);
        }

        this.OnCompleteMethod = OnCompleteMethod;

        for (int i = 0; i < shopProducts.Count; i++)
        {
            if (shopProducts[i].productName == productName.ToString())
            {
                BuyProductID(shopProducts[i].GetStoreID());
            }
        }
    }
 public static bool CheckIfBought(ShopProductNames productToCheck)
 {
     if (IAPManager.Instance.IsInitialized())
     {
         if (IAPManager.Instance.IsActive(productToCheck))
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     else
     {
         return(false);
     }
 }
Example #12
0
 /// <summary>
 /// Get the price and currency code of the product as a string
 /// </summary>
 /// <param name="product">store product</param>
 /// <returns>the localized price and currency of the product</returns>
 public string GetLocalizedPriceString(ShopProductNames product)
 {
     if (IsInitialized())
     {
         if (shopProducts != null)
         {
             return(shopProducts.First(cond => String.Equals(cond.productName, product.ToString())).localizedPriceString);
         }
         else
         {
             Debug.LogError("No products available -> Go to Window->Gley->Easy IAP and define your products");
         }
     }
     else
     {
         Debug.LogError("Not Initialized -> Call IAPManager.Instance.InitializeIAPManager() before anything else");
     }
     return("-");
 }
Example #13
0
 public MyStoreProducts(ShopProductNames name, bool bought)
 {
     this.name   = name;
     this.bought = bought;
 }