コード例 #1
0
ファイル: Purchaser.cs プロジェクト: kknet/WordConnect
    public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args)
    {
        IAPItem item = null;

        foreach (var i in iapItems)
        {
            if (String.Equals(args.purchasedProduct.definition.id, i.productID, StringComparison.Ordinal))
            {
                Debug.Log(string.Format("ProcessPurchase: PASS. Product: '{0}'", args.purchasedProduct.definition.id));
                item = i;
            }
        }

        if (args.purchasedProduct.hasReceipt)
        {
            string   receipt     = args.purchasedProduct.receipt;
            JSONNode receiptJson = JSON.Parse(JSON.Parse(receipt)["Payload"]);
            item.receipt   = receiptJson["json"];
            item.signature = receiptJson["signature"];
        }

        if (onItemPurchased != null)
        {
            onItemPurchased(item, Array.IndexOf(iapItems, item));
        }

        // Return a flag indicating whether this product has completely been received, or if the application needs
        // to be reminded of this purchase at next app launch. Use PurchaseProcessingResult.Pending when still
        // saving purchased products to the cloud, and when that save is delayed.
        return(PurchaseProcessingResult.Complete);
    }
コード例 #2
0
    //=============================================================================

    public void PurchaseEventComplete(bool bSuccess, IAPItem PurchasedItem, eIAPReturnCode ErrorCode)
    {
        LockView(false);

        if (bSuccess)
        {
            // Add items to our total
            if (PurchasedItem != null)
            {
                Debug.Log("Product Purchased: " + PurchasedItem.ItemTitle + "  (" + PurchasedItem.Quantity + ")");
                GameDataManager.Instance.AddPlayerDiamonds(PurchasedItem.Quantity, true);
                GameDataManager.Instance.BroadcastGuiData();

                // Continue game
                RevivePlayer();
            }
        }
        else
        {
            // Log purchase of pack cancellation
            Debug.Log("Purchase failed!");

            // Restart timer
            _isCountdownActive = true;
        }
    }
コード例 #3
0
ファイル: ShopDialog.cs プロジェクト: kknet/WordConnect
 private void OnItemPurchased(IAPItem item, int index)
 {
     // A consumable product has been purchased by this user.
     if (item.productType == ProductType.Consumable)
     {
         CurrencyController.CreditBalance(item.value);
         Toast.instance.ShowMessage("Your purchase is successful");
         // 判断是否是去除广告的
         if (item.isRemoveAd)
         {
             CUtils.SetBuyItem();
             CUtils.HideBannerAd();
         }
         EventTrackingController.instance.LogGemsAdd(item.value, "IAP", item.productID);
         EventTrackingController.instance.LogPurchaseEvent(item.price * 100, item.productID, "shopdialog", item.receipt, item.signature);
     }
     // Or ... a non-consumable product has been purchased by this user.
     else if (item.productType == ProductType.NonConsumable)
     {
         // TODO: The non-consumable item has been successfully purchased, grant this item to the player.
     }
     // Or ... a subscription product has been purchased by this user.
     else if (item.productType == ProductType.Subscription)
     {
         // TODO: The subscription item has been successfully purchased, grant this to the player.
     }
 }
コード例 #4
0
ファイル: ShopScreen.cs プロジェクト: liuxx220/GameApp
        private void PopulateScreen()
        {
                        #if ENABLE_IAP
            IAPManager iapManager = IAPManager.Instance;

            if (iapManager == null || !iapManager.Initialized)
            {
                return;
            }

            if (m_ItemPrefab != null && m_ItemParent != null)
            {
                List <IAPItem> availableItems = iapManager.AvailableItems;

                for (int i = 0; i < availableItems.Count; ++i)
                {
                    IAPItem  item        = availableItems[i];
                    ShopItem spawnedItem = Instantiate <ShopItem>(m_ItemPrefab);

                    spawnedItem.ShowItem(item);
                    spawnedItem.transform.SetParent(m_ItemParent, false);
                }
            }
                        #endif
        }
コード例 #5
0
    //=============================================================================

    public void PurchaseEventComplete(bool bSuccess, IAPItem PurchasedItem, eIAPReturnCode ErrorCode)
    {
        LockView(false);

        if (bSuccess)
        {
            // Add items to our total
            if (PurchasedItem != null)
            {
                Debug.Log("Product Purchased: " + PurchasedItem.ItemTitle + "  (" + PurchasedItem.Quantity + ")");
                switch (m_CurrentPage)
                {
                case eShopPageType.GEMS:
                    GameDataManager.Instance.AddPlayerGems(PurchasedItem.Quantity, true);
                    break;

                case eShopPageType.DIAMONDS:
                    GameDataManager.Instance.AddPlayerDiamonds(PurchasedItem.Quantity, true);
                    break;
                }

                GameDataManager.Instance.BroadcastGuiData();
            }
        }
        else
        {
            // Log purchase of pack cancellation
            Debug.Log("Purchase failed!");
        }
    }
コード例 #6
0
        //Converts model (IAPItem) to view
        public void ShowItem(IAPItem itemToShow)
        {
            displayedItem = itemToShow;

            nameLabel.text = itemToShow.Name;
            costLabel.text = itemToShow.PriceString;
            sprite.texture = itemToShow.GetThumbnail();
        }
コード例 #7
0
ファイル: Shop.cs プロジェクト: kidundead/ow
    public void CreateIAPShopData()
    {
        for (int i = 0; i < (int)IAPType.Count; i++)
        {
            itemList[i] = new List <IAPItem>();
        }

        IAPItem cash50w = new IAPItem();

        cash50w.ID          = "com.trinitigame.callofminizombies.099cents";
        cash50w.iType       = IAPType.Cash;
        cash50w.Name        = IAPName.Cash50W;
        cash50w.Desc        = "$500,000\nMINI PACK";
        cash50w.textureRect = ShopTexturePosition.CashLogo;
        AddIAPItem(cash50w);


        IAPItem cash120w = new IAPItem();

        cash120w.ID          = "com.trinitigame.callofminizombies.199cents";
        cash120w.iType       = IAPType.Cash;
        cash120w.Name        = IAPName.Cash120W;
        cash120w.Desc        = "$1,200,000\nMEDIUM PACK";
        cash120w.textureRect = ShopTexturePosition.CashLogo;
        AddIAPItem(cash120w);

        IAPItem cash270w = new IAPItem();

        cash270w.ID          = "com.trinitigame.callofminizombies.299cents";
        cash270w.iType       = IAPType.Cash;
        cash270w.Name        = IAPName.Cash270W;
        cash270w.Desc        = "$2,700,000\nMEGA PACK";
        cash270w.textureRect = ShopTexturePosition.CashLogo;
        AddIAPItem(cash270w);


        IAPItem cash750w = new IAPItem();

        cash750w.ID          = "com.trinitigame.callofminizombies.999cents";
        cash750w.iType       = IAPType.Cash;
        cash750w.Name        = IAPName.Cash750W;
        cash750w.Desc        = "$7,500,000\n XL MEGA PACK";
        cash750w.textureRect = ShopTexturePosition.CashLogo;
        AddIAPItem(cash750w);

        IAPItem cash1650w = new IAPItem();

        cash1650w.ID          = "com.trinitigame.callofminizombies.1999cents";
        cash1650w.iType       = IAPType.Cash;
        cash1650w.Name        = IAPName.Cash1650W;
        cash1650w.Desc        = "$16,500,000\n XXL MEGA PACK";
        cash1650w.textureRect = ShopTexturePosition.CashLogo;
        AddIAPItem(cash1650w);
    }
コード例 #8
0
    public void Start()
    {
        Text TextCmp = GetComponent(typeof(Text)) as Text;

        if (TextCmp != null)
        {
            if ((IAPManager.instance != null) && IAPManager.instance.IsStoreAvailable())
            {
                IAPItem CurItem = IAPManager.instance.GetIAPItem(iapID);
                TextCmp.text = "" + CurItem.ItemTitle;
            }
            else
            {
                TextCmp.text = "Store unavailable";
            }
        }
    }
コード例 #9
0
 private void OnItemPurchased(IAPItem item, int index)
 {
     // A consumable product has been purchased by this user.
     if (item.productType == PType.Consumable)
     {
     }
     // Or ... a non-consumable product has been purchased by this user.
     else if (item.productType == PType.NonConsumable)
     {
         CUtils.SetRemoveAds(true);
         Toast.instance.ShowMessage("Removing ads is successful");
     }
     // Or ... a subscription product has been purchased by this user.
     else if (item.productType == PType.Subscription)
     {
         // TODO: The subscription item has been successfully purchased, grant this to the player.
     }
 }
コード例 #10
0
 private void OnItemPurchased(IAPItem item, int index)
 {
     // A consumable product has been purchased by this user.
     if (item.productType == ProductType.Consumable)
     {
         CurrencyController.CreditBalance(item.value);
         Toast.instance.ShowMessage("Your purchase is successful");
         CUtils.SetBuyItem();
     }
     // Or ... a non-consumable product has been purchased by this user.
     else if (item.productType == ProductType.NonConsumable)
     {
         // TODO: The non-consumable item has been successfully purchased, grant this item to the player.
     }
     // Or ... a subscription product has been purchased by this user.
     else if (item.productType == ProductType.Subscription)
     {
         // TODO: The subscription item has been successfully purchased, grant this to the player.
     }
 }
コード例 #11
0
ファイル: Shop.cs プロジェクト: kidundead/ow
 public void AddIAPItem(IAPItem item)
 {
     itemList[0].Add(item);
 }