public byte[] SerializeMessage(IUdpMessage message) { var writer = new DataWriter(); writer.Write(HEADER_VERIFICATION, false); var cmdName = message.GetType().Name; cmdName = cmdName.Substring(0, cmdName.Length - "Message".Length); writer.Write(cmdName); message.Serialize(writer); var bytes = writer.Finalize(); return(bytes); }
public byte[] SerializeMessage(IUdpMessage message) { var writer = new DataWriter(); writer.Write(HEADER_VERIFICATION, false); var cmdName = message.GetType().Name; writer.Write(cmdName); writer.Write(_loop.TickIndex); message.Serialize(writer); var bytes = writer.Finalize(); return(bytes); }
public void Simulate(uint tickIndex) { if (_messages.Count == 0) { return; } _messagesCopy.Clear(); _messagesCopy.AddRange(_messages); _messages.Clear(); for (int i = 0; i < _messagesCopy.Count; i++) { IUdpMessage message = _messagesCopy[i]; if (message != null && _handlers.TryGetValue(message.GetType(), out List <IMessageHandler> handlers)) { foreach (var r in handlers) { r.Handle(message); } } } }