public bool Equals(SubclassType other)
 {
     if (ReferenceEquals(null, other)) return false;
     if (ReferenceEquals(this, other)) return true;
     return Equals(other.elementName, elementName);
 }
 protected override void Deserialize(NetworkBinaryReader reader)
 {
     IsRegisteredToServer = reader.ReadBoolean();
     IsRequestingSpawnForArenaID = reader.ReadNullableByte();
     IsGameClientReadyToStartArena = reader.ReadBoolean();
     SpectatorID = reader.ReadByte();
     Subclass = (SubclassType)reader.ReadByte();
     if (!Enum.IsDefined(typeof(SubclassType), Subclass)) throw new NetworkException("Invalid value for Subclass, " + Subclass);
     int byteCount = reader.ReadUInt16();
     StreamedData = reader.ReadBytes(byteCount);
 }