// helper function to pack message into a simple byte[] public static byte[] PackToByteArray <T>(T message) where T : NetworkMessage { using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter()) { MessagePacker.Pack(message, writer); return(writer.ToArray()); } }
public void SumOnServer(byte[] serverReceivedData) { PooledNetworkReader pooledNetworkReader = NetworkReaderPool.GetReader(serverReceivedData); int a = pooledNetworkReader.Read <int>(); int b = pooledNetworkReader.Read <int>(); pooledNetworkReader.Dispose(); PooledNetworkWriter pooledNetworkWriter = NetworkWriterPool.GetWriter(); int result = a + b; pooledNetworkWriter.Write(result); pooledNetworkWriter.ToArray(); byte[] dataToSendClient = pooledNetworkWriter.ToArray(); Debug.LogWarning("Server " + result); RpcReceive(DataCommand.TEST_SumOnServer, dataToSendClient); pooledNetworkWriter.Dispose(); }
public static void SenderFuction(int a, bool b) { PooledNetworkWriter pooledNetworkWriter = NetworkWriterPool.GetWriter(); pooledNetworkWriter.Write(a); pooledNetworkWriter.Write(b); Player.SendData(DataCommand.TEST1, pooledNetworkWriter.ToArray()); pooledNetworkWriter.Dispose(); }
public static void Sum(int a, int b) { PooledNetworkWriter pooledNetworkWriter = NetworkWriterPool.GetWriter(); pooledNetworkWriter.Write(a); pooledNetworkWriter.Write(b); Player.SendData(DataCommand.TEST_SumOnServer, pooledNetworkWriter.ToArray()); pooledNetworkWriter.Dispose(); }
void CheckSendRate() { if (SendMessagesAllowed && syncInterval > 0 && sendTimer < Time.time) { sendTimer = Time.time + syncInterval; using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter()) { if (WriteParameters(writer)) { SendAnimationParametersMessage(writer.ToArray()); } } } }
void FixedUpdate() { if (!SendMessagesAllowed) { return; } CheckSendRate(); for (int i = 0; i < _animator.layerCount; i++) { int stateHash; float normalizedTime; if (!CheckAnimStateChanged(out stateHash, out normalizedTime, i)) { continue; } using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter()) { WriteParameters(writer); SendAnimationMessage(stateHash, normalizedTime, i, layerWeight[i], writer.ToArray()); } } }