public EnumTypeDescriptor(ITypeDescriptorCallbacks typeSerializers, AbstractBufferedReader reader)
{
_typeSerializers = typeSerializers;
_name = reader.ReadString();
var header = reader.ReadVUInt32();
_signed = (header & 1) != 0;
_flags = (header & 2) != 0;
var count = header >> 2;
_pairs = new List<KeyValuePair<string, ulong>>((int)count);
for (int i = 0; i < count; i++)
{
_pairs.Add(_signed
? new KeyValuePair<string, ulong>(reader.ReadString(), (ulong)reader.ReadVInt64())
: new KeyValuePair<string, ulong>(reader.ReadString(), reader.ReadVUInt64()));
}
}