Пример #1
0
    private void OnAck_BuyStore(MessageRecv obj)
    {
        System.IO.MemoryStream ms  = new System.IO.MemoryStream(obj.Data);
        AckBuyStore            ack = Serializer.Deserialize <AckBuyStore>(ms);

        DStore db   = ReadCfgStore.GetDataById(ack.StoreID);
        GTItem data = new GTItem(db.ItemID, db.ItemNum * ack.Num);

        GTItemHelper.ShowAwardTip(data);
        GTDataManager.Instance.AddNewItem(db.ItemID, db.ItemNum * ack.Num);
        GTDataManager.Instance.UseMoney(db.CostMoneyID, db.CostMoneyNum * ack.Num);

        GTEventCenter.FireEvent(GTEventID.TYPE_STORE_BUYSUCCESS);
    }
Пример #2
0
    private void RefreshView()
    {
        List <DStore> pList = MLStore.Instance.GetSelectProductListByStoreType(mStoreType);

        for (int i = 0; i < 40; i++)
        {
            StoreItem tab = mStoreList[i];
            if (i >= pList.Count)
            {
                tab.obj.SetActive(false);
                continue;
            }
            tab.obj.SetActive(true);

            DStore db     = pList[i];
            DItem  itemDB = ReadCfgItem.GetDataById(db.ItemID);
            GTItemHelper.ShowItemTexture(tab.itemTexture, db.ItemID);
            GTItemHelper.ShowItemQuality(tab.itemQuality, db.ItemID);
            GTItemHelper.ShowItemName(tab.itemName, db.ItemID);
            tab.itemNum.text = db.ItemNum.ToString();

            if (db.CostMoneyID > 0)
            {
                tab.costMoneyNum.text = db.CostMoneyNum.ToString();
                GTItemHelper.ShowItemTexture(tab.costMoneyTexture, db.CostMoneyID);
            }
            else
            {
                tab.costMoneyNum.text = string.Empty;
                tab.costMoneyTexture.gameObject.SetActive(false);
            }


            UIEventListener.Get(tab.btnBuy).onClick = delegate(GameObject go)
            {
                GTAudioManager.Instance.PlayEffectAudio(GTAudioKey.SOUND_UI_CLICK);
                GTNetworkSend.Instance.TryBuyStore(mStoreType, db.Id, 1);
            };

            UIEventListener.Get(tab.itemBtn).onClick = delegate(GameObject go)
            {
                GTAudioManager.Instance.PlayEffectAudio(GTAudioKey.SOUND_UI_CLICK);
                GTItemHelper.ShowItemDialogById(itemDB.Id);
            };
        }
    }
Пример #3
0
    public void TryBuyStore(int storeType, int storeID, int num)
    {
        DStore storeDB = ReadCfgStore.GetDataById(storeID);

        if (storeDB == null)
        {
            GTItemHelper.ShowTip("非法物品");
            return;
        }
        if (GTItemHelper.CheckItemEnongh(storeDB.CostMoneyID, storeDB.CostMoneyNum) == false)
        {
            return;
        }
        if (GTItemHelper.CheckBagFull(1))
        {
            return;
        }
        ReqBuyStore req = new ReqBuyStore();

        req.StoreType = storeType;
        req.StoreID   = storeID;
        req.Num       = num;
        NetworkManager.Instance.Send <ReqBuyStore>(MessageID.MSG_REQ_BUY_STORE, req);
    }