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(); }
void Awake() { Instance = this; IsShown = false; }