private void SendParameterRelatedCommands(AutoAdjustParameters parameters, bool onlyEyebrow)
        {
            var eyebrowCommands = new ReceivedCommand[]
            {
                new ReceivedCommand(
                    VmmCommands.EyebrowLeftUpKey,
                    parameters.EyebrowLeftUpKey
                    ),
                new ReceivedCommand(
                    VmmCommands.EyebrowLeftDownKey,
                    parameters.EyebrowLeftDownKey
                    ),
                new ReceivedCommand(
                    VmmCommands.UseSeparatedKeyForEyebrow,
                    $"{parameters.UseSeparatedKeyForEyebrow}"
                    ),
                new ReceivedCommand(
                    VmmCommands.EyebrowRightUpKey,
                    parameters.EyebrowRightUpKey
                    ),
                new ReceivedCommand(
                    VmmCommands.EyebrowRightDownKey,
                    parameters.EyebrowRightDownKey
                    ),
                new ReceivedCommand(
                    VmmCommands.EyebrowUpScale,
                    $"{parameters.EyebrowUpScale}"
                    ),
                new ReceivedCommand(
                    VmmCommands.EyebrowDownScale,
                    $"{parameters.EyebrowDownScale}"
                    ),
                new ReceivedCommand(
                    VmmCommands.LengthFromWristToPalm,
                    $"{parameters.LengthFromWristToPalm}"
                    ),
                new ReceivedCommand(
                    VmmCommands.LengthFromWristToTip,
                    $"{parameters.LengthFromWristToTip}"
                    ),
            };

            foreach (var cmd in eyebrowCommands)
            {
                _dispatcher.ReceiveCommand(cmd);
            }

            if (onlyEyebrow)
            {
                return;
            }

            //レイアウト調整はコレ一発でおしまいです
            _dispatcher.ReceiveCommand(new ReceivedCommand(VmmCommands.ResetDeviceLayout));
        }
Beispiel #2
0
 public void ReceiveCommand(ReceivedCommand command)
 {
     if (command.Command == MessageCommandNames.CommandArray)
     {
         //コマンドの一括送信を受け取ったとき: バラバラにしてキューに詰めておく
         var commands = CommandArrayParser.ParseCommandArray(command.Content);
         foreach (var c in commands)
         {
             _receivedCommands.Enqueue(c);
         }
     }
     else
     {
         //普通の受信
         _receivedCommands.Enqueue(command);
     }
 }
Beispiel #3
0
 private void ProcessCommand(ReceivedCommand command)
 {
     _commandsSubject.OnNext(command);
 }