protected bool CreateAndWriteRequest <TRequest>( NetDataWriter writer, ushort requestType, TRequest request, SerializerDelegate extraRequestSerializer, long duration, ResponseDelegate responseDelegate) where TRequest : INetSerializable { if (!responseHandlers.ContainsKey(requestType)) { Logging.LogError($"Cannot create request. Request type: {requestType} not registered."); return(false); } if (!responseHandlers[requestType].IsRequestTypeValid(typeof(TRequest))) { Logging.LogError($"Cannot create request. Request type: {requestType}, {typeof(TRequest)} is not valid message type."); return(false); } // Create request uint ackId = CreateRequest(responseHandlers[requestType], duration, responseDelegate); // Write request writer.Reset(); writer.PutPackedUShort(RequestMessageType); writer.PutPackedUShort(requestType); writer.PutPackedUInt(ackId); request.Serialize(writer); if (extraRequestSerializer != null) { extraRequestSerializer.Invoke(writer); } return(true); }
public void ClientSendPacket(DeliveryMethod deliveryMethod, ushort msgType, System.Action <NetDataWriter> serializer) { writer.Reset(); writer.PutPackedUShort(msgType); if (serializer != null) { serializer.Invoke(writer); } Transport.ClientSend(deliveryMethod, writer); }
public void ClientSendPacket(SendOptions options, ushort msgType, System.Action <NetDataWriter> serializer) { writer.Reset(); writer.PutPackedUShort(msgType); if (serializer != null) { serializer.Invoke(writer); } Transport.ClientSend(options, writer); }
public static void WritePacket( NetDataWriter writer, ushort messageType) { writer.Reset(); writer.PutPackedUShort(messageType); }
public void Serialize(NetDataWriter writer) { writer.PutPackedUShort((ushort)message); writer.Put(sceneName); writer.Put(networkAddress); writer.Put(networkPort); }
public void Serialize(NetDataWriter writer) { writer.PutPackedUShort((ushort)message); writer.Put(userId); writer.Put(accessToken); writer.PutPackedLong(unbanTime); }
protected void WritePacket( NetDataWriter writer, ushort messageType, SerializerDelegate extraSerializer) { writer.Reset(); writer.PutPackedUShort(messageType); if (extraSerializer != null) { extraSerializer.Invoke(writer); } }
private void RequestProceeded(long connectionId, uint requestId, AckResponseCode responseCode, INetSerializable response, SerializerDelegate responseSerializer) { // Write response Writer.Reset(); Writer.PutPackedUShort(ResponseMessageType); Writer.PutPackedUInt(requestId); Writer.PutValue(responseCode); Writer.Put(response); if (responseSerializer != null) { responseSerializer.Invoke(Writer); } // Send response SendMessage(connectionId, 0, DeliveryMethod.ReliableUnordered, Writer); }
protected bool CreateAndWriteRequest <TRequest>( NetDataWriter writer, ushort requestType, TRequest request, ResponseDelegate <INetSerializable> responseDelegate, int millisecondsTimeout, SerializerDelegate extraRequestSerializer) where TRequest : INetSerializable, new() { if (!responseHandlers.ContainsKey(requestType)) { responseDelegate.Invoke(new ResponseHandlerData(nextRequestId++, this, -1, null), AckResponseCode.Unimplemented, EmptyMessage.Value); Logging.LogError($"Cannot create request. Request type: {requestType} not registered."); return(false); } if (!responseHandlers[requestType].IsRequestTypeValid(typeof(TRequest))) { responseDelegate.Invoke(new ResponseHandlerData(nextRequestId++, this, -1, null), AckResponseCode.Unimplemented, EmptyMessage.Value); Logging.LogError($"Cannot create request. Request type: {requestType}, {typeof(TRequest)} is not valid message type."); return(false); } // Create request uint requestId = CreateRequest(responseHandlers[requestType], responseDelegate, millisecondsTimeout); // Write request writer.Reset(); writer.PutPackedUShort(RequestMessageType); writer.PutPackedUShort(requestType); writer.PutPackedUInt(requestId); writer.Put(request); if (extraRequestSerializer != null) { extraRequestSerializer.Invoke(writer); } return(true); }
public void Serialize(NetDataWriter writer) { writer.PutPackedUShort((ushort)message); if (characters == null) { writer.Put(byte.MinValue); } else { writer.Put((byte)characters.Count); foreach (PlayerCharacterData character in characters) { character.SerializeCharacterData(writer, withTransforms: false, withBuffs: false, withSkillUsages: false, withNonEquipItems: false, withSummons: false, withHotkeys: false, withQuests: false); } } }
public void Serialize(NetDataWriter writer) { writer.PutPackedUShort((ushort)message); }
public void Serialize(NetDataWriter writer) { writer.PutPackedUShort((ushort)message); writer.Put(instanceId); writer.Put(requestId); }
public void Serialize(NetDataWriter writer) { writer.PutPackedUShort(value); }