Esempio n. 1
0
    IEnumerator BuyChips_Coroutine()
    {
        ShopItemId itemId = new ShopItemId((int)E_TicketID.TicketPackSmall, GuiShop.E_ItemType.Ticket);

        // buy gold is needed
        if (!ShopDataBridge.Instance.HaveEnoughMoney(itemId, -1))
        {
            ShopItemId reqIAP = ShopDataBridge.Instance.GetIAPNeededForItem(itemId, -1);

            if (reqIAP.IsEmpty())
            {
                yield break;
            }

            bool buySucceed = true;
            GuiShopNotFundsPopup.Instance.AddFundsID = reqIAP;
            GuiPopup popup = Owner.ShowPopup("NotFundsPopup",
                                             "",
                                             "",
                                             (inPopup, inResult) =>
            {
                switch (inResult)
                {
                case E_PopupResultCode.Cancel:
                    buySucceed = false;
                    break;

                case E_PopupResultCode.Failed:
                    buySucceed = false;
                    break;
                }
            });

            //Debug.Log("Popup Visible:" + popup.IsVisible);
            while (popup.IsVisible == true)
            {
                yield return(new WaitForEndOfFrame());
            }

            if (buySucceed == false)
            {
                yield break;
            }
            //Debug.Log("IAP success:" + buySucceed);
        }

        // buy chips
        {
            GuiShopBuyPopup.Instance.SetBuyItem(itemId);
            GuiShopBuyPopup popup = (GuiShopBuyPopup)Owner.ShowPopup("ShopBuyPopup",
                                                                     null,
                                                                     null,
                                                                     (inPopup, inResult) =>
            {
                if (inResult == E_PopupResultCode.Success)
                {
                    GuiShopBuyPopup temp = inPopup as GuiShopBuyPopup;
                    ShopItemInfo info    = ShopDataBridge.Instance.GetItemInfo(temp.BuyItemId);
                    m_Prize = Mathf.Max(0, m_Prize - info.Cost);
                }
            });

            while (popup.IsVisible == true)
            {
                yield return(new WaitForSeconds(0.2f));
            }
        }

        RefreshValues();
        UpdateButtons();
    }
Esempio n. 2
0
 void Awake()
 {
     Instance = this;
     IsShown  = false;
 }