internal static bool TryWriteMessage(NetStream stream, NetMessage message) { int pos = stream.Pos; if (!stream.CanWrite(32)) { return(false); } stream.WriteUShort(message.MessageId, 11); stream.WriteBool(message.ViewId != 0); if (message.ViewId != 0) { stream.WriteUInt(message.ViewId, 20); } foreach (object param in message.Parameters) { if (TryWriteParam(stream, param)) { continue; } stream.Pos = pos; return(false); } return(true); }