private void OnReq_DressEquip(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); ReqDressEquip req = Serializer.Deserialize <ReqDressEquip>(ms); AckDressEquip ack = new AckDressEquip(); XItem bagEquip = DataDBSBagItem.GetDataById(req.SrcPos); DEquip equipDB = ReadCfgEquip.GetDataById(bagEquip.Id); ack.SrcPos = req.SrcPos; ack.TarPos = equipDB.Pos; NetworkManager.Instance.Send(MessageID.MSG_ACK_DRESS_EQUIP, ack, 0, 0); }
private void OnAck_DressEquip(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AckDressEquip ack = Serializer.Deserialize <AckDressEquip>(ms); int srcPos = ack.SrcPos; int tarPos = ack.TarPos; XItem bagEquip = DataDBSBagItem.GetDataById(srcPos); DEquip equipDB = ReadCfgEquip.GetDataById(bagEquip.Id); XItem dressEquip = DataDBSDressEquip.GetDataById(equipDB.Pos); if (dressEquip != null) { int bagInstance = bagEquip.Instance; int bagId = bagEquip.Id; bagEquip.Id = dressEquip.Id; bagEquip.Instance = dressEquip.Instance; bagEquip.PosType = (int)EPosType.BagItem; dressEquip.Instance = bagInstance; dressEquip.PosType = (int)EPosType.RoleEquip; dressEquip.Id = bagId; DataDBSDressEquip.Update(equipDB.Pos, dressEquip); DataDBSBagItem.Update(srcPos, bagEquip); } else { dressEquip = new XItem(); dressEquip.Instance = bagEquip.Instance; dressEquip.Pos = equipDB.Pos; dressEquip.PosType = (int)EPosType.RoleEquip; dressEquip.Id = bagEquip.Id; dressEquip.Num = 1; DataDBSDressEquip.Insert(equipDB.Pos, dressEquip); DataDBSBagItem.Delete(srcPos); } GTWorld.Instance.SyncMainPlayerData(ESyncDataType.TYPE_EQUIP); GTEventCenter.FireEvent(GTEventID.TYPE_BAG_DRESS_EQUIP, srcPos, tarPos); GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE); }