예제 #1
0
파일: XMBFile.cs 프로젝트: Weesals/ModHQ
        public void Save(Stream stream, bool compress)
        {
            char[] header = new char[2] {
                'X', '1'
            };
            using (var outStream = new MemoryStream()) {
                outStream.WriteByte((byte)header[0]);
                outStream.WriteByte((byte)header[1]);

                var serializer = new SerialWriter(new BinaryWriter(outStream));
                Serialize(document.Root, serializer);
                outStream.Position = 0;
                string data = new StreamReader(outStream).ReadToEnd();
                outStream.Position = 0;

                if (compress)
                {
                    var writer = new BinaryWriter(stream);
                    writer.Write(Encoding.UTF8.GetBytes("l33t"));
                    writer.Write((int)outStream.Length);
                    writer.Write((byte)0x78);
                    writer.Write((byte)0x9C);
                    using (var decompStream = new DeflateStream(stream, CompressionMode.Compress, true)) {
                        outStream.CopyTo(decompStream);
                        decompStream.Flush();
                    }
                }
                else
                {
                    outStream.CopyTo(stream);
                }
            }
        }
예제 #2
0
        public void SendDataToComm(string filePath)
        {
            DataReader = new DataReader();
            short[] data = DataReader.ReadDataFromFile(filePath);
            SerialWriter = new SerialWriter(SerialPort);
            Thread thread = new Thread(new ThreadStart(() => SerialWriter.sendData(data)));

            thread.Start();
        }
        private void KeyEvent(Keys key, bool down)
        {
            foreach (var keyMap in KeyMapDictionary.Values)
            {
                if (keyMap.KeyboardKey.Key == key)
                {
                    UpdateButtonsState(down, keyMap.GetKeyMask(down));

                    SerialWriter.WriteState((byte)Index, buttons);
                    break;
                }
            }
        }
예제 #4
0
 public CounterController(SerialWriter writer)
 {
     Writer = writer;
 }
 public AllTextController(SerialWriter writer)
 {
     Writer = writer;
 }
 public CelestialBodyController(IMediator mediator)
 {
     this.mediator = mediator;
     serialWriter  = new SerialWriter();
 }
 internal void AllButtonsUp()
 {
     SerialWriter.WriteState((byte)Index, 0xff);
 }