Skip to content

Commit de0145c

Browse files
committed
Add Enum and EnumFlag argument support to MessageSerializer
1 parent 0b12ae6 commit de0145c

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

Reactor/Networking/Serialization/MessageSerializer.cs

+9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Collections.Generic;
3+
using System.Globalization;
34
using System.Linq;
45
using Hazel;
56
using Reactor.Networking.Extensions;
@@ -90,6 +91,9 @@ public static void Serialize(this MessageWriter writer, object @object)
9091
case Vector2 i:
9192
writer.Write(i);
9293
break;
94+
case Enum i:
95+
writer.WritePacked(Convert.ToInt32(i, CultureInfo.InvariantCulture));
96+
break;
9397
case string i:
9498
writer.Write(i);
9599
break;
@@ -153,6 +157,11 @@ public static object Deserialize(this MessageReader reader, Type objectType)
153157
return reader.ReadVector2();
154158
}
155159

160+
if (objectType.IsEnum)
161+
{
162+
return Enum.ToObject(objectType, reader.ReadPackedInt32());
163+
}
164+
156165
if (objectType == typeof(string))
157166
{
158167
return reader.ReadString();

0 commit comments

Comments
 (0)