From c3f414f04fc01b2bed5def66d61250cc8e4b40d1 Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Mon, 24 May 2021 01:14:10 -0700 Subject: [PATCH] fix(core): Removes byte indicator for Enum (#614) --- Projects/Server/Serialization/IGenericReader.cs | 2 +- Projects/Server/Serialization/IGenericWriter.cs | 8 +------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/Projects/Server/Serialization/IGenericReader.cs b/Projects/Server/Serialization/IGenericReader.cs index 9717debb3..6bc7a6da1 100644 --- a/Projects/Server/Serialization/IGenericReader.cs +++ b/Projects/Server/Serialization/IGenericReader.cs @@ -70,7 +70,7 @@ namespace Server int Read(Span buffer); unsafe T ReadEnum() where T : unmanaged, Enum { - switch (ReadByte()) + switch (sizeof(T)) { case 1: { diff --git a/Projects/Server/Serialization/IGenericWriter.cs b/Projects/Server/Serialization/IGenericWriter.cs index 58a83edbd..5507f8799 100644 --- a/Projects/Server/Serialization/IGenericWriter.cs +++ b/Projects/Server/Serialization/IGenericWriter.cs @@ -118,32 +118,26 @@ namespace Server void Write(ReadOnlySpan bytes); unsafe void WriteEnum(T value) where T : unmanaged, Enum { - var size = sizeof(T); - - switch (size) + switch (sizeof(T)) { default: throw new ArgumentException($"Argument of type {typeof(T)} is not a normal enum"); case 1: { - Write((byte)1); Write(*(byte*)&value); break; } case 2: { - Write((byte)2); Write(*(ushort*)&value); break; } case 4: { - Write((byte)3); WriteEncodedInt(*(int*)&value); break; } case 8: { - Write((byte)4); Write(*(ulong*)&value); break; }