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;
            }
        }
        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;
            }
        }