コード例 #1
0
        private void CompletePurchase()
        {
            this.m_Message = string.Empty;
            string password = this.m_Password;

            this.m_Password   = string.Empty;
            this.m_Purchasing = AssetStoreInstaBuyWindow.PurchaseStatus.InProgress;
            AssetStoreClient.DirectPurchase(this.m_Asset.packageID, password, delegate(PurchaseResult result)
            {
                this.m_Purchasing = AssetStoreInstaBuyWindow.PurchaseStatus.Init;
                if (result.error != null)
                {
                    this.m_Purchasing = AssetStoreInstaBuyWindow.PurchaseStatus.Declined;
                    this.m_Message    = "An error occured while completing you purhase.";
                    base.Close();
                }
                string text = null;
                switch (result.status)
                {
                case PurchaseResult.Status.BasketNotEmpty:
                    this.m_Message    = "Something else has been put in our Asset Store basket while doing this purchase.";
                    this.m_Purchasing = AssetStoreInstaBuyWindow.PurchaseStatus.Declined;
                    break;

                case PurchaseResult.Status.ServiceDisabled:
                    this.m_Message    = "Single click purchase has been disabled while doing this purchase.";
                    this.m_Purchasing = AssetStoreInstaBuyWindow.PurchaseStatus.Declined;
                    break;

                case PurchaseResult.Status.AnonymousUser:
                    this.m_Message    = "You have been logged out from somewhere else while doing this purchase.";
                    this.m_Purchasing = AssetStoreInstaBuyWindow.PurchaseStatus.Declined;
                    break;

                case PurchaseResult.Status.PasswordMissing:
                    this.m_Message = result.message;
                    base.Repaint();
                    break;

                case PurchaseResult.Status.PasswordWrong:
                    this.m_Message = result.message;
                    base.Repaint();
                    break;

                case PurchaseResult.Status.PurchaseDeclined:
                    this.m_Purchasing = AssetStoreInstaBuyWindow.PurchaseStatus.Declined;
                    if (result.message != null)
                    {
                        this.m_Message = result.message;
                    }
                    base.Repaint();
                    break;

                case PurchaseResult.Status.Ok:
                    this.m_Purchasing = AssetStoreInstaBuyWindow.PurchaseStatus.Complete;
                    if (result.message != null)
                    {
                        this.m_Message = result.message;
                    }
                    base.Repaint();
                    break;
                }
                if (text != null)
                {
                    EditorUtility.DisplayDialog("Purchase failed", text + " This purchase has been cancelled.", "Add this item to basket", "Cancel");
                }
            });
            Analytics.Track(string.Format("/AssetStore/InstaBuy/{0}/{1}", this.m_Asset.packageID, this.m_Asset.id));
        }
コード例 #2
0
        void CompletePurchase()
        {
            m_Message = "";
            string pw = m_Password;

            m_Password   = "";
            m_Purchasing = PurchaseStatus.InProgress;
            AssetStoreClient.DirectPurchase(m_Asset.packageID, pw, delegate(PurchaseResult result) {
                m_Purchasing = PurchaseStatus.Init;
                if (result.error != null)
                {
                    m_Purchasing = PurchaseStatus.Declined;
                    m_Message    = "An error occurred while completing you purhase.";
                    Close();
                }

                string msg = null;
                switch (result.status)
                {
                case PurchaseResult.Status.BasketNotEmpty:
                    m_Message    = "Something else has been put in our Asset Store basket while doing this purchase.";
                    m_Purchasing = PurchaseStatus.Declined;
                    break;

                case PurchaseResult.Status.ServiceDisabled:
                    m_Message    = "Single click purchase has been disabled while doing this purchase.";
                    m_Purchasing = PurchaseStatus.Declined;
                    break;

                case PurchaseResult.Status.AnonymousUser:
                    m_Message    = "You have been logged out from somewhere else while doing this purchase.";
                    m_Purchasing = PurchaseStatus.Declined;
                    break;

                case PurchaseResult.Status.PasswordMissing:
                    m_Message = result.message;
                    Repaint();
                    break;

                case PurchaseResult.Status.PasswordWrong:
                    m_Message = result.message;
                    Repaint();
                    break;

                case PurchaseResult.Status.PurchaseDeclined:
                    m_Purchasing = PurchaseStatus.Declined;
                    if (result.message != null)
                    {
                        m_Message = result.message;
                    }
                    Repaint();
                    break;

                case PurchaseResult.Status.Ok:
                    m_Purchasing = PurchaseStatus.Complete;
                    if (result.message != null)
                    {
                        m_Message = result.message;
                    }
                    Repaint();
                    break;
                }
                if (msg != null)
                {
                    EditorUtility.DisplayDialog("Purchase failed", msg + " This purchase has been cancelled.",
                                                "Add this item to basket", "Cancel");
                }
            });
            UsabilityAnalytics.Track(string.Format("/AssetStore/InstaBuy/{0}/{1}", m_Asset.packageID, m_Asset.id));
        }