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