private void OnReq_UseItem(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); ReqUseItem req = Serializer.Deserialize <ReqUseItem>(ms); AckUseItem ack = new AckUseItem(); ack.Num = req.Num; ack.Pos = req.Pos; ack.PosType = req.PosType; ack.ID = req.ID; NetworkManager.Instance.Send(MessageID.MSG_ACK_USEITEM, ack, 0, 0); }
public void TryUseItemByPos(int pos, int num) { XItem item = DataDBSBagItem.GetDataById(pos); if (item.Num < num) { GTItemHelper.ShowTip("物品不足"); return; } DItem itemDB = ReadCfgItem.GetDataById(item.Id); if (itemDB.ItemType == EItemType.BOX) { if (itemDB.Data1 != 0) { if (GTDataManager.Instance.GetItemCountById(itemDB.Data1) < num) { GTItemHelper.ShowTip("需要足够的钥匙"); return; } } DAward awardDB = ReadCfgAward.GetDataById(itemDB.Data2); if (GTItemHelper.CheckBagFull(awardDB.MaxDropNum)) { return; } } ReqUseItem req = new ReqUseItem(); req.Pos = pos; req.Num = num; req.PosType = (int)EPosType.BagItem; req.ID = item.Id; NetworkManager.Instance.Send <ReqUseItem>(MessageID.MSG_REQ_USEITEM, req); }