private void OnAck_UseItem(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AckUseItem ack = Serializer.Deserialize <AckUseItem>(ms); int pos = ack.Pos; int num = ack.Num; int id = ack.ID; XItem item = DataDBSBagItem.GetDataById(pos); DItem itemDB = ReadCfgItem.GetDataById(item.Id); switch (itemDB.ItemType) { case EItemType.DRUG: GTDataManager.Instance.AddNewItem(itemDB.Data2, itemDB.Data1 * num); GTDataManager.Instance.UseItemById(itemDB.Id, num); break; case EItemType.BOX: break; } GTEventCenter.FireEvent(GTEventID.TYPE_BAG_USE_ITEM, id, num); }
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); }