internal static void Postfix(NKMultiConnection __instance)
        {
            var messageQueue = __instance.ReceiveQueue;

            if (messageQueue == null || messageQueue.Count == 0)
            {
                return;
            }

            foreach (var message in messageQueue)
            {
                ActOnCode(message);
            }
        }
示例#2
0
        internal static void Postfix(NKMultiConnection __instance)
        {
            var messageQueue = __instance.ReceiveQueue;

            if (messageQueue == null || messageQueue.Count == 0)
            {
                return;
            }

            for (int i = 0; i < messageQueue.Count; i++)
            {
                var  message  = messageQueue.Dequeue();
                bool consumed = false;
                MelonMain.DoPatchMethods(mod =>
                {
                    consumed |= mod.ActOnMessage(message);
                });
                if (!consumed)
                {
                    messageQueue.Enqueue(message);
                }
            }
        }