public void WriteNetSerializable <T>(NetDataWriter writer, T packet) where T : INetSerializable
 {
     WriteHash <T>(writer);
     packet.Serialize(writer);
 }
 protected virtual void WriteHash <T>(NetDataWriter writer)
 {
     writer.Put(GetHash <T>());
 }
 public void Write <T>(NetDataWriter writer, T packet) where T : class, new()
 {
     WriteHash <T>(writer);
     _netSerializer.Serialize(writer, packet);
 }