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));
        }
Esempio n. 2
0
        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);
 }