private void OnReq_UnloadGem(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); ReqUnloadGem req = Serializer.Deserialize <ReqUnloadGem>(ms); AckUnloadGem ack = new AckUnloadGem(); ack.TarPos = req.TarPos; ack.Index = req.Index; ack.NewPos = GTDataManager.Instance.GetNewPos(EBagType.GEM); NetworkManager.Instance.Send(MessageID.MSG_ACK_UNLOAD_GEM, ack, 0, 0); }
private void OnAck_UnloadGem(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AckUnloadGem ack = Serializer.Deserialize <AckUnloadGem>(ms); int newPos = ack.NewPos; int tarPos = ack.TarPos; XItem dressGem = DataDBSDressGem.GetDataById(tarPos); XItem bagGem = new XItem(); bagGem.Instance = dressGem.Instance; bagGem.Pos = newPos; bagGem.PosType = (int)EPosType.BagGem; bagGem.Id = dressGem.Id; bagGem.Num = 1; DataDBSBagGem.Insert(newPos, bagGem); DataDBSDressGem.Delete(tarPos); GTWorld.Instance.SyncMainPlayerData(ESyncDataType.TYPE_CURRATTR); GTEventCenter.FireEvent(GTEventID.TYPE_BAG_UNLOAD_GEM, newPos, tarPos); GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE); }