continuity/Wonderking/Packets/Outgoing/CharacterSelectionSetGuildNamePacket.cs
Timothy Schenk 4b0840b5b9
All checks were successful
Build, Package and Push Images / preprocess (push) Successful in 2s
Build, Package and Push Images / build (push) Successful in 25s
Build, Package and Push Images / sonarqube (push) Has been skipped
Build, Package and Push Images / sbom-scan (push) Successful in 34s
Build, Package and Push Images / container-build (push) Successful in 1m15s
Build, Package and Push Images / container-sbom-scan (push) Successful in 37s
feat: add guild data to character selection and db
2023-11-14 20:07:45 +01:00

30 lines
867 B
C#

using System.Text;
namespace Wonderking.Packets.Outgoing;
[PacketId(OperationCode.CharacterSelectionSetGuildName)]
public class CharacterSelectionSetGuildNamePacket : IPacket
{
public required string[] GuildNames { get; set; }
public void Deserialize(byte[] data)
{
throw new NotSupportedException();
}
public byte[] Serialize()
{
Span<byte> data = stackalloc byte[1 + (16 + 1 + 1) * this.GuildNames.Length];
data.Clear();
data[0] = (byte)this.GuildNames.Length;
for (var i = 0; i < this.GuildNames.Length; i++)
{
data[1 + (i * (16 + 1 + 1))] = (byte)i;
Encoding.ASCII.GetBytes(this.GuildNames[i], data.Slice(2 + (i * (16 + 1 + 1)), 16));
// Null terminator
data[18 + (i * (16 + 1 + 1))] = 0;
}
return data.ToArray();
}
}