protected bool WriteGameEventPacket( PacketSerializer.GameEvent eventType, ushort senderId, ushort targetId, ushort[] perClientData ) { Profiler.BeginSample("WriteGameEventPacket"); writeStream.Start(packetBuffer); bool result = true; try { packetSerializer.WriteGameEventPacket(writeStream, eventType, senderId, targetId, perClientData); writeStream.Finish(); } catch (Network.SerializeException) { Debug.Log("error: failed to write game event packet"); result = false; } Profiler.EndSample(); return result; }
protected bool WriteServerInfoPacket( bool[] clientConnected, ulong[] clientUserId, string[] clientUserName ) { Profiler.BeginSample( "WriteServerInfoPacket" ); writeStream.Start( packetBuffer ); bool result = true; try { packetSerializer.WriteServerInfoPacket( writeStream, clientConnected, clientUserId, clientUserName ); writeStream.Finish(); } catch ( Network.SerializeException ) { Debug.Log( "error: failed to write server info packet" ); result = false; } Profiler.EndSample(); return result; }
protected bool WriteStateUpdatePacket(int objNum, bool shotLight, int potionNum, bool hasParent, ref State cubeState) { writeStream.Start(packetBuffer); bool result = true; try { packetSerializer.WriteHeader(writeStream, 00000000, objNum, shotLight, potionNum, hasParent, cubeState); writeStream.Finish(); } catch (Network.SerializeException) { Debug.Log("error: failed to write state update packet packet"); result = false; } return(result); }
static void test_serialization() { Debug.Log("test_serialization"); const int MaxPacketSize = 1024; var serializer = new TestSerializer(); var buffer = new uint[MaxPacketSize / 4]; var writeStream = new Network.WriteStream(); writeStream.Start(buffer); TestStruct input; input.bool_value = true; input.int_value = -5; input.uint_value = 215; input.bits_value = 12345; serializer.WriteTestStruct(writeStream, ref input); writeStream.Finish(); byte[] packet = writeStream.GetData(); var readStream = new Network.ReadStream(); readStream.Start(packet); TestStruct output; serializer.ReadTestStruct(readStream, out output); readStream.Finish(); Assert.AreEqual(input.bool_value, output.bool_value); Assert.AreEqual(input.int_value, output.int_value); Assert.AreEqual(input.uint_value, output.uint_value); Assert.AreEqual(input.bits_value, output.bits_value); }