private void OnAck_ChangePartner(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AckChangePartner ack = Serializer.Deserialize <AckChangePartner>(ms); XCharacter role = RoleModule.Instance.GetCurPlayer(); switch (ack.Pos) { case 1: role.Partner1 = ack.ID; break; case 2: role.Partner2 = ack.ID; break; } DataDBSRole.Update(role.Id, role); if (!DataDBSPartner.ContainsKey(ack.ID)) { XPartner xp = new XPartner(); xp.Id = ack.ID; xp.Level = 1; xp.Star = 0; xp.Wake = 0; xp.Advance = 1; xp.Exp = 0; DataDBSPartner.Insert(ack.ID, xp); } CharacterManager.Instance.SyncMainPlayerData(ESyncDataType.TYPE_BASEATTR); GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_PARTNER, ack.Pos, ack.ID); GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE); }
private void OnReq_ChangePartner(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); ReqChangePartner req = Serializer.Deserialize <ReqChangePartner>(ms); AckChangePartner ack = new AckChangePartner(); ack.ID = req.ID; ack.Pos = req.Pos; NetworkManager.Instance.Send(MessageID.MSG_ACK_CHANGE_PARTNER, ack, 0, 0); }