41 lines
1.2 KiB
C#
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();
|
|
}
|
|
}
|