public void OnRequestPurchase(PaymentManager.ERequestPurchaseResult result, PaymentManager.CoinRecord record = null)
        {
            switch (result)
            {
            case PaymentManager.ERequestPurchaseResult.NONE:
            case PaymentManager.ERequestPurchaseResult.CANCEL:
                this.Cancel();
                break;

            case PaymentManager.ERequestPurchaseResult.SUCCESS:
                if (record != null)
                {
                    MonoSingleton <GameManager> .Instance.Player.SetCoinPurchaseResult(record);

                    MonoSingleton <GameManager> .Instance.Player.GainVipPoint(record.additionalPaidCoin);
                }
                this.Success();
                break;

            case PaymentManager.ERequestPurchaseResult.ALREADY_OWN:
                this.AlreadyOwn();
                break;

            case PaymentManager.ERequestPurchaseResult.DEFERRED:
                this.Deferred();
                break;

            default:
                this.Error();
                break;
            }
        }
Exemple #2
0
 public bool RequestPurchase(string productId)
 {
     PaymentManager.MyDebug.PushMessage(nameof(RequestPurchase));
     PaymentManager.verifyRetryCount = 0;
     this.purchaseResult             = PaymentManager.ERequestPurchaseResult.NONE;
     PaymentKit.StartPayment(productId);
     return(true);
 }
Exemple #3
0
    public void OnPurchaseSucceeded(PurchaseContainer purchases)
    {
        PaymentManager.MyDebug.PushMessage(nameof(OnPurchaseSucceeded));
        if (((Allocator <MetaPurchase, Purchase>)purchases).get_Length() > 0)
        {
            if (((string)((Allocator <MetaPurchase, Purchase>)purchases).get_Item(0).productId).Contains("bundle"))
            {
                GlobalVars.SelectedPurchaseType = GlobalVars.PurchaseType.Bundles;
                Debug.Log((object)(">>>> Bundle purchase succeeded : " + (object)purchases));
            }
            else
            {
                GlobalVars.SelectedPurchaseType = GlobalVars.PurchaseType.Gems;
                Debug.Log((object)(">>>> Gem purchase succeeded : " + (object)purchases));
            }
        }
        else
        {
            Debug.Log((object)">>>> [ERROR] Purchase succeeded but couldn't find purchase IDs.");
        }
        this.purchaseContainerTemp = purchases;
        List <gu3.Payment.Product> productList = new List <gu3.Payment.Product>();

        if (GlobalVars.SelectedPurchaseType == GlobalVars.PurchaseType.Bundles)
        {
            using (Dictionary <string, gu3.Payment.Product> .ValueCollection.Enumerator enumerator = this.BundleOnStores.Values.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    gu3.Payment.Product current = enumerator.Current;
                    productList.Add(current);
                }
            }
            this.purchaseResult = PaymentManager.ERequestPurchaseResult.SUCCESS;
            Client.SendVerify(PaymentManager.BundleApiPath, Network.SessionID, purchases, productList.ToArray());
        }
        else
        {
            using (Dictionary <string, gu3.Payment.Product> .ValueCollection.Enumerator enumerator = this.ProductOnStores.Values.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    gu3.Payment.Product current = enumerator.Current;
                    productList.Add(current);
                }
            }
            this.purchaseResult = PaymentManager.ERequestPurchaseResult.SUCCESS;
            Client.SendVerify(PaymentManager.ApiPath, Network.SessionID, purchases, productList.ToArray());
        }
    }
        public void OnRequestPurchase(PaymentManager.ERequestPurchaseResult result, PaymentManager.CoinRecord record = null)
        {
            switch (result)
            {
            case PaymentManager.ERequestPurchaseResult.NONE:
            case PaymentManager.ERequestPurchaseResult.CANCEL:
                this.Cancel();
                break;

            case PaymentManager.ERequestPurchaseResult.SUCCESS:
                if (record != null)
                {
                    MonoSingleton <GameManager> .Instance.Player.SetCoinPurchaseResult(record);

                    MonoSingleton <GameManager> .Instance.Player.GainVipPoint(record.additionalPaidCoin);
                }
                this.Success();
                break;

            case PaymentManager.ERequestPurchaseResult.ALREADY_OWN:
                this.AlreadyOwn();
                break;

            case PaymentManager.ERequestPurchaseResult.DEFERRED:
                this.Deferred();
                break;

            case PaymentManager.ERequestPurchaseResult.INSUFFICIENT_BALANCES:
                this.InsufficientBalances();
                break;

            case PaymentManager.ERequestPurchaseResult.OVER_LIMITED:
                this.OverLimited();
                break;

            case PaymentManager.ERequestPurchaseResult.NEED_BIRTHDAY:
                this.NeedBirthday();
                break;

            default:
                this.Error();
                break;
            }
        }
Exemple #5
0
 public void OnPurchaseDeferred(string message)
 {
     PaymentManager.MyDebug.PushMessage(nameof(OnPurchaseDeferred));
     this.purchaseResult = PaymentManager.ERequestPurchaseResult.DEFERRED;
 }
Exemple #6
0
 public void OnPurchaseAlreadyOwned(string message)
 {
     PaymentManager.MyDebug.PushMessage(nameof(OnPurchaseAlreadyOwned));
     this.purchaseResult = PaymentManager.ERequestPurchaseResult.ALREADY_OWN;
 }
Exemple #7
0
 public void OnPurchaseCanceled(string message)
 {
     PaymentManager.MyDebug.PushMessage(nameof(OnPurchaseCanceled));
     this.purchaseResult = PaymentManager.ERequestPurchaseResult.CANCEL;
 }