Exemple #1
0
    private void ReadCommandAsyncCallback(IAsyncResult result)
    {
        if (CommandStream != null && CommandStream.IsConnected)
        {
            var command = CommandMessage.FromBytes(Command);

            switch (command.CommandType)
            {
            case CommandType.Viseme:
                lock (Lock)
                {
                    VisemeQueue.Enqueue(command.Viseme);
                }
                break;

            case CommandType.VoiceCommand:
                lock (Lock)
                {
                    VoiceCommandQueue.Enqueue(command.VoiceCommand);
                }
                break;

            case CommandType.KinectBody:
                lock (Lock)
                {
                    KinectBodyQueue.Enqueue(command.KinectBody);
                }
                break;

            case CommandType.KinectFace:
                lock (Lock)
                {
                    KinectFaceQueue.Enqueue(command.KinectFace);
                }
                break;

            case CommandType.KeyPress:
                var keyPress = command.KeyPress;
                break;

            case CommandType.KeyDown:
                var keyDown = command.KeyDown;
                lock (Lock)
                {
                    if (keyDown < 256)
                    {
                        KeyPressed[keyDown] = true;
                    }
                }
                break;

            case CommandType.KeyUp:
                var keyUp = command.KeyUp;
                lock (Lock)
                {
                    if (keyUp < 256)
                    {
                        KeyPressed[keyUp] = false;
                    }
                }
                break;

            case CommandType.MouseMove:
                break;

            default:
                throw new NotImplementedException();
            }
        }

        BeginReadCommand();
    }