Exemplo n.º 1
0
        public void BuyProduct(IProductIAP product)
        {
            var IAPProduct = product as UnityProductIAP;

            if (IAPProduct.IsNull() || IAPProduct.product.IsNull() || !IAPProduct.product.availableToPurchase)
            {
                return;
            }

            _storeController.InitiatePurchase(IAPProduct.id);
        }
Exemplo n.º 2
0
        public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e)
        {
            IProductIAP product = _products.Find(x => x != null && x.id == e.purchasedProduct.definition.id);

            if (product != null)
            {
                "{0} - {1}".LogFormat(this.GetType(), nameof(onPurchasedProduct));
                onPurchasedProduct(product);
            }

            return(PurchaseProcessingResult.Complete);
        }
Exemplo n.º 3
0
        public void OnPurchaseFailed(UnityEngine.Purchasing.Product product, UnityEngine.Purchasing.PurchaseFailureReason reason)
        {
            IProductIAP productIAP = _products.IsNullOrEmpty() ? null : _products.Find(x => x != null && x.id == product.definition.id);

            if (productIAP == null)
            {
                return;
            }

            "{0} - {1}".LogFormat(this.GetType(), nameof(onPurchaseFailed));
            onPurchaseFailed(productIAP, (PurchaseFailureReason)((int)reason));
        }