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); }
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); }; } }
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); }