public IEnumerator UsingWriterInAnotherAssembly() { // reset flags MessageWithCustomWriterExtesions.WriterCalled = 0; MessageWithCustomWriterExtesions.ReaderCalled = 0; var inValue = new MessageWithCustomWriter() { type = 3, value = 1.4f }; var outValue = new MessageWithCustomWriter(); serverComponent.onRpc_CustomWriter += (v) => outValue = v; clientComponent.SendValue_Custom(inValue); yield return(null); yield return(null); Assert.That(outValue.type, Is.EqualTo(inValue.type)); Assert.That(outValue.value, Is.EqualTo(inValue.value).Within(0.01f)); // methods should be called once Assert.That(MessageWithCustomWriterExtesions.WriterCalled, Is.EqualTo(1)); Assert.That(MessageWithCustomWriterExtesions.ReaderCalled, Is.EqualTo(1)); }
public void NetworkWriterOtherAsmDefTest() { // reset flags MessageWithCustomWriterExtesions.WriterCalled = 0; MessageWithCustomWriterExtesions.ReaderCalled = 0; var inValue = new MessageWithCustomWriter() { type = 3, value = 1.4f }; // use generic writer writer.Write(inValue); Assert.That(writer.BitPosition, Is.EqualTo(MessageWithCustomWriterExtesions.WriteSize)); reader.Reset(writer.ToArraySegment()); var outValue = reader.Read <MessageWithCustomWriter>(); Assert.That(reader.BitPosition, Is.EqualTo(MessageWithCustomWriterExtesions.WriteSize)); Assert.That(outValue.type, Is.EqualTo(inValue.type)); Assert.That(outValue.value, Is.EqualTo(inValue.value).Within(0.01f)); // methods should be called once Assert.That(MessageWithCustomWriterExtesions.WriterCalled, Is.EqualTo(1)); Assert.That(MessageWithCustomWriterExtesions.ReaderCalled, Is.EqualTo(1)); }
public void SendValue_Custom(MessageWithCustomWriter value) { onRpc_CustomWriter?.Invoke(value); }