コード例 #1
0
    void UpdateSkuList(List <BazaarSkuInfo> skus)
    {
        billingSkuInfo.Clear();

        foreach (BazaarSkuInfo skuInfo in skus)
        {
            BillingSkuInfo item = new BillingSkuInfo();
            item.ProductId   = skuInfo.ProductId;
            item.Title       = skuInfo.Title;
            item.Price       = skuInfo.Price;
            item.Description = skuInfo.Description;
            item.Type        = skuInfo.Type;

            if (billingSkuInfo.ContainsKey(item.ProductId))
            {
                billingSkuInfo.Remove(item.ProductId);                 //repeated item must remove
            }
            billingSkuInfo.Add(item.ProductId, item);
            Debug.Log(item.ToString());
        }
    }
コード例 #2
0
    // Update is called once per frame
    void Update()
    {
        lastBuyRequestTimeElapse += Time.deltaTime;
        var activeLoading = true;

        BillingSkuInfo skuInfo = null;

        if (billingSystem.IsDone())
        {
            skuInfo = billingSystem.GetItemInfo(itemSku);
            if (skuInfo != null)
            {
                //update sku item informations
                price.text = (skuInfo.GetPriceAsNormalString(false, "?"));
            }
            else
            {
                if (!billingSystem.IsWating())               //must check before load anythings
                {
                    billingSystem.LoadInventory();
                }
            }
        }

        if (skuInfo != null)
        {
            activeLoading = false;
        }

        if (loading != null)
        {
            loading.SetActive(activeLoading);
        }

        if (buyButton != null)
        {
            buyButton.interactable = !activeLoading;
        }
    }