public void Dispatch(ISession session, IPacket packet) { BinaryReader reader = packet.CreateReader(); var type = (AccountDataType)reader.ReadUInt32(); ulong guid = session.Player != null ? session.Player.Guid : 0; AccpuntData accpuntData = session.Account.FindAccpuntData(type, guid); session.Send(GetUpdateAccountDataPkt(accpuntData)); }
private static IPacket GetUpdateAccountDataPkt(AccpuntData accpuntData) { IPacket packet = WorldPacketFactory.Create(WMSG.SMSG_UPDATE_ACCOUNT_DATA); BinaryWriter writer = packet.CreateWriter(); writer.Write(accpuntData.Guid); writer.Write((uint)accpuntData.Type); writer.Write(accpuntData.Time.ToUnixTimestamp()); writer = new BinaryWriter(new DeflaterOutputStream(writer.BaseStream)); writer.WriteCString(accpuntData.Data); writer.Flush(); return packet; }
private static IPacket GetUpdateAccountDataPkt(AccpuntData accpuntData) { IPacket packet = WorldPacketFactory.Create(WMSG.SMSG_UPDATE_ACCOUNT_DATA); BinaryWriter writer = packet.CreateWriter(); writer.Write(accpuntData.Guid); writer.Write((uint)accpuntData.Type); writer.Write(accpuntData.Time.ToUnixTimestamp()); writer = new BinaryWriter(new DeflaterOutputStream(writer.BaseStream)); writer.WriteCString(accpuntData.Data); writer.Flush(); return(packet); }
public void Dispatch(ISession session, IPacket packet) { BinaryReader reader = packet.CreateReader(); var type = (AccountDataType)reader.ReadUInt32(); DateTime time = DateTimeExtension.ToDateTime(reader.ReadUInt32()); var decompressedSize = reader.ReadInt32(); reader = new BinaryReader(new InflaterInputStream(reader.BaseStream)); string data = Encoding.UTF8.GetString(reader.ReadBytes(decompressedSize)); var ad = new AccpuntData { //Guid = Type = type, Time = time, Data = data, }; session.Account.SetAccountData(ad); session.Send(GetUpdateAccountDataCompletePkt(type)); }