continuity/Wonderking/Packets/Incoming/CharacterCreationPacket.cs

41 lines
1.2 KiB
C#

// Copyright (c) 2023 Timothy Schenk. Subject to the GNU AGPL Version 3 License.
using System.Text;
using Wonderking.Game.Data.Character;
namespace Wonderking.Packets.Incoming;
[PacketId(OperationCode.CharacterCreation)]
public class CharacterCreationPacket : IPacket
{
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();
}
}