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); }
private void OnAck_UnloadEquip(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AckUnloadEquip ack = Serializer.Deserialize <AckUnloadEquip>(ms); int newPos = ack.NewPos; int tarPos = ack.TarPos; XItem dressEquip = DataDBSDressEquip.GetDataById(tarPos); XItem bagItem = new XItem(); bagItem.Instance = dressEquip.Instance; bagItem.Pos = newPos; bagItem.PosType = (int)EPosType.BagItem; bagItem.Id = dressEquip.Id; bagItem.Num = 1; DataDBSBagItem.Insert(newPos, bagItem); DataDBSDressEquip.Delete(tarPos); GTWorld.Instance.SyncMainPlayerData(ESyncDataType.TYPE_EQUIP); GTEventCenter.FireEvent(GTEventID.TYPE_BAG_UNLOAD_EQUIP, newPos, tarPos); GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE); }