示例#1
0
 private void ReadFromStorage(IAPProductsStorage storage)
 {
     for (int i = 0; i < storage.IAPProducts.Count; i++)
     {
         var iapProductData = storage.IAPProducts[i];
         var iapProduct     = IAPProduct.CreateIapProductByData(iapProductData);
         AddProduct(iapProduct);
     }
 }
示例#2
0
        public void RemoveProduct(IAPProduct product)
        {
            if (product == null)
            {
                return;
            }

            iapProducts.Remove(product.ProductKey);
        }
示例#3
0
        public void BuyProduct(IAPProduct iapProduct)
        {
            var product = storeController.products.WithID(iapProduct.ProductKey);

            if (product != null && product.availableToPurchase)
            {
                storeController.InitiatePurchase(product);
            }
        }
示例#4
0
        public void AddProduct(IAPProduct product)
        {
            if (product == null)
            {
                return;
            }

            if (!iapProducts.ContainsKey(product.ProductKey))
            {
                iapProducts.Add(product.ProductKey, product);
            }
        }
        public static IAPProduct CreateIapProductByData(IAPProductData data)
        {
            var iapProduct = new IAPProduct()
            {
                ProductKey    = data.productKey,
                StoreKey      = data.storeKey,
                Price         = data.price,
                ProductType   = data.productType,
                GPProductKey  = data.gpProductKey,
                IOSProductKey = data.iosProductKey
            };

            iapProduct.Init();
            return(iapProduct);
        }
示例#6
0
 public void OnPurchaseError(IAPProduct product)
 {
     EventManager.Call <IIAPHandler>(x => x.ResultTransaction(product, TransactionResult.ERROR));
 }
示例#7
0
 public void OnPurchaseCanceled(IAPProduct product)
 {
     EventManager.Call <IIAPHandler>(x => x.ResultTransaction(product, TransactionResult.CANCEL));
 }
示例#8
0
 public void OnPurchasePending(IAPProduct product)
 {
     EventManager.Call <IIAPHandler>(x => x.ResultTransaction(product, TransactionResult.PENDING));
 }
示例#9
0
 public void OnPurchaseAuthorized(IAPProduct product)
 {
     EventManager.Call <IIAPHandler>(x => x.ResultTransaction(product, TransactionResult.AUTHORIZED));
 }
示例#10
0
 public void BuyProduct(IAPProduct product)
 {
     Store.BuyProduct(product);
     EventManager.Call <IIAPHandler>(x => x.SendTransaction(product));
 }
示例#11
0
 public void ConfirmPurchase(IAPProduct product)
 {
     storeController.ConfirmPendingPurchase(product.Product);
 }