示例#1
0
    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;
    }
示例#2
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);
    }
示例#3
0
    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);
    }
示例#4
0
    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;
        }
    }