// Copyright (c) 2023 Timothy Schenk. Subject to the GNU AGPL Version 3 License. using System.Text; using Rai.PacketMediator; using Wonderking.Game.Data.Character; namespace Wonderking.Packets.Incoming; [WonderkingPacketId(OperationCode.CharacterCreation)] public class CharacterCreationPacket : IIncomingPacket { public required byte Slot { get; set; } public required byte Unknown { get; set; } public required ushort Id { get; set; } public required string Name { get; set; } public required byte FirstJob { get; set; } public required Gender Gender { get; set; } public required byte Hair { get; set; } public required byte Eyes { get; set; } public required byte Shirt { get; set; } public required byte Pants { get; set; } public void Deserialize(byte[] data) { Slot = data[0]; Unknown = data[1]; Id = BitConverter.ToUInt16(data, 2); Name = Encoding.ASCII.GetString(data, 4, 20).TrimEnd('\0').TrimEnd('\n').TrimEnd('\0'); FirstJob = data[24]; Gender = (Gender)data[25]; Hair = data[26]; Eyes = data[27]; Shirt = data[28]; Pants = data[29]; } public byte[] Serialize() { throw new NotSupportedException(); } }