public void ShowPurchaseConfirmation(GameObject CommodityObj) { CurCommodityObj = CommodityObj; MyTools.DestroyChildNodes(CommodityRoot); GameObject NewCurCommodityObj = GameObject.Instantiate(CurCommodityObj); NewCurCommodityObj.transform.parent = CommodityRoot; NewCurCommodityObj.transform.localPosition = Vector3.zero; NewCurCommodityObj.transform.localScale = Vector3.one; bool Purchased = false; UI_MagicCard mc = NewCurCommodityObj.GetComponent <UI_MagicCard>(); UI_CommodityItem ci = NewCurCommodityObj.GetComponent <UI_CommodityItem>(); if (mc != null) { Purchased = mc.PurchasedSign.activeSelf; if (Purchased) { mc.RecoverFromPurchased(); } } else if (ci != null) { Purchased = ci.PurchasedSign.activeSelf; if (Purchased) { ci.RecoverFromPurchased(); } } PurchaseBtn.isEnabled = !Purchased; PurchaseBtn.transform.GetChild(0).GetComponent <UILabel>().text = Purchased ? "已购买" : "购买"; TweenAlpha.Begin(PurchaseConfirmationRoot, 0.2f, 1).from = 0; }
IEnumerator RefreshGoodsList() { CommodityWaitLoad.SetActive(true); if (GameApp.Instance.Platform != null) { CommodityLoadProgLab.text = StringBuilderTool.ToString("等待获取商品列表..."); if (!GameApp.Instance.Platform.IsGetGetGoodsListOver) { GameApp.Instance.Platform.GetGoodsList(); while (!GameApp.Instance.Platform.IsGetGetGoodsListOver) { yield return(new WaitForEndOfFrame()); } } MyTools.DestroyChildNodes(GoodsTable.transform); foreach (KeyValuePair <int, GoodsInfo> pair in GameApp.Instance.Platform.GoodsDic) { if (pair.Value.ID >= 35 && pair.Value.ID <= 37) { GameObject newUnit = NGUITools.AddChild(GoodsTable.gameObject, GoodsUnit_Prefab); newUnit.SetActive(true); newUnit.name = "Goods_" + pair.Value.ID; UI_CommodityItem ci = newUnit.GetComponent <UI_CommodityItem>(); ci.Show(pair.Value.CfgItemID, float.Parse(pair.Value.GetPriceStr()), 0); ci.OverrideName(pair.Value.Name); ci.GoodsID = pair.Value.ID; GoodsTable.repositionNow = true; yield return(new WaitForEndOfFrame()); GoodsLstRoot.GetComponent <UIScrollView>().ResetPosition(); } } } else { CommodityLoadProgLab.text = StringBuilderTool.ToString("为连接运营平台,无法获取商品列表!"); yield return(new WaitForSeconds(2f)); } CommodityWaitLoad.SetActive(false); }
IEnumerator RefreshCommodityList() { MyTools.DestroyChildNodes(CommodityTable.transform); CommodityWaitLoad.SetActive(true); int CurProg = 0; foreach (Commodity c in TempCommodityLst) { if (c.Type == ECommodityType.eCard) { GameObject newUnit = NGUITools.AddChild(CommodityTable.gameObject, CommodityUnit_CardPrefab); newUnit.SetActive(true); newUnit.name = "Commodity_Card_" + c.ID; UI_MagicCard mc = newUnit.GetComponent <UI_MagicCard>(); mc.UnconditionalShow(c.ID); mc.SetPrice(c.Price); } else if (c.Type == ECommodityType.eItem) { GameObject newUnit = NGUITools.AddChild(CommodityTable.gameObject, CommodityUnit_ItemPrefab); newUnit.SetActive(true); newUnit.name = "Commodity_Item_" + c.ID; UI_CommodityItem ci = newUnit.GetComponent <UI_CommodityItem>(); ci.Show(c.ID, c.Price, 1001); } CommodityTable.repositionNow = true; yield return(new WaitForEndOfFrame()); CommodityLstRoot.GetComponent <UIScrollView>().ResetPosition(); CurProg++; CommodityLoadProgLab.text = StringBuilderTool.ToString("商品加载中(", CurProg, "/", TempCommodityLst.Count, ")..."); } CommodityWaitLoad.SetActive(false); }
public void OnClick_Purchase() { GameApp.Instance.SoundInstance.PlaySe("button"); Debug.Log("点击【购买】"); switch (CurType) { case 1: { uint Gold = SerPlayerData.GetItemCount(1001); uint CommodityID = 0; uint CommodityPrice = 0; UI_MagicCard mc = CurCommodityObj.GetComponent <UI_MagicCard>(); UI_CommodityItem ci = CurCommodityObj.GetComponent <UI_CommodityItem>(); if (mc != null) { CommodityID = (uint)mc.MCCfg.CardID; CommodityPrice = uint.Parse(mc.Price.text); } else if (ci != null) { CommodityID = (uint)ci.ItemCfg.ItemID; CommodityPrice = uint.Parse(ci.Price.text); } else { return; } if (Gold >= CommodityPrice) { if (mc != null) { mc.SetPurchased(); GameApp.SendMsg.GMOrder(StringBuilderTool.ToString("AddItem ", mc.MCCfg.CardID, " 1")); } else if (ci != null) { ci.SetPurchased(); GameApp.SendMsg.GMOrder(StringBuilderTool.ToString("AddItem ", ci.ItemCfg.ItemID, " 1")); } TweenAlpha.Begin(PurchaseConfirmationRoot, 0.2f, 0).from = 1; GameApp.SendMsg.GMOrder(StringBuilderTool.ToString("AddItem 1001 ", -CommodityPrice)); } else { ShowGoldCoinNotEnough(); } } break; case 2: break; case 3: { UI_CommodityItem ci = CurCommodityObj.GetComponent <UI_CommodityItem>(); if (ci != null) { if (GameApp.Instance.Platform != null && GameApp.Instance.LeSDKInstance != null) { GameApp.Instance.Platform.CreateOrder(ci.GoodsID); } } } break; } }