コード例 #1
0
ファイル: CanPlayRequest.cs プロジェクト: julianjelev/gRPCNet
        public byte[] SerializeASCII()
        {
            List <byte> sendBytes = new List <byte>();

            // command
            sendBytes.AddRange("RG".Select(c => (byte)c)); // "RG" request game (shoul pay is false), "SG" start game (shoul pay is true)
            sendBytes.Add(0x1F);                           // 0x1F - unit separator char(31)
            // concentrator id
            sendBytes.AddRange(ConcentratorId.Select(c => (byte)c));
            sendBytes.Add(0x1F);
            // controller id
            sendBytes.AddRange(GameControllerId.Select(c => (byte)c));
            sendBytes.Add(0x1F);
            // card type
            sendBytes.AddRange(CardType.Select(c => (byte)c));
            sendBytes.Add(0x1F);
            // card id
            sendBytes.AddRange(CardId.Select(c => (byte)c));
            sendBytes.Add(0x1F);
            // should pay
            sendBytes.Add(0x30); //  0x30 '0' char(48)
            sendBytes.Add(0x1F);
            // transaction id
            sendBytes.AddRange(TransactionId.ToString().Select(c => (byte)c));
            sendBytes.Add(0x1F);
            // endpoint rssi
            sendBytes.AddRange(EndpointRssi.ToString().Select(c => (byte)c));
            sendBytes.Add(0x1F);
            // concentrator rssi
            sendBytes.AddRange(ConcentratorRssi.ToString().Select(c => (byte)c));
            sendBytes.Add(0x1E);// 0x1E - record separator char(30)

            return(sendBytes.ToArray());
        }