示例#1
0
        public void Stop()
        {
            lock (syncRoot) {
                foreach (byte id in PacketTranslator.GetKnownPackets())
                {
                    Core.UnregisterClientMessageCallback(id, new MessageCallback(PacketHandler));
                }

                Recording = false;
            }
        }
示例#2
0
        private CallbackResult PacketHandler(byte[] data, CallbackResult prevResult)
        {
            lock (syncRoot) {
                IMacroCommand cmd = PacketTranslator.Translate(data);
                if (cmd != null)
                {
                    AddCommand(cmd);
                }
            }

            return(CallbackResult.Normal);
        }
示例#3
0
        public void Start()
        {
            lock (syncRoot) {
                if (Recording)
                {
                    throw new InvalidOperationException("Recorder is already running.");
                }

                Recording = true;

                foreach (byte id in PacketTranslator.GetKnownPackets())
                {
                    Core.RegisterClientMessageCallback(id, new MessageCallback(PacketHandler));
                }
            }
        }