/// <summary> /// Serializes the given server update (entity snapshot and client-specific data) and immediately sends a packet, only writing data that has changed from a previous snapshot.. /// </summary> public static void Send(INetworkConnection clientNetworkConnection, EntitySnapshot previousEntitySnapshot, EntitySnapshot latestEntitySnapshot, int latestClientTickReceived, int clientCommandingEntityID) { OutgoingMessage outgoingMessage = clientNetworkConnection.GetOutgoingMessageToSend(); ServerUpdateSerializer.Serialize(outgoingMessage, previousEntitySnapshot, latestEntitySnapshot, latestClientTickReceived, clientCommandingEntityID); clientNetworkConnection.SendMessage(outgoingMessage); }
/// <summary> /// Serializes the given client update (client commands) and immediately sends a packet. /// </summary> public static void Send(INetworkConnection serverNetworkConnection, Queue <ClientCommand <TCommandData> > clientCommands, int latestServerTickReceived, int latestFrameTickAcknowledgedByServer) { OutgoingMessage outgoingMessage = serverNetworkConnection.GetOutgoingMessageToSend(); ClientUpdateSerializer <TCommandData> .Serialize(outgoingMessage, clientCommands, latestServerTickReceived, latestFrameTickAcknowledgedByServer); serverNetworkConnection.SendMessage(outgoingMessage); }