private bool HandleUserInput(Scene scene) { if (_commands.Any()) { Commands command; _commandsToLog.Clear(); lock (_sync) { command = _commands.Dequeue(); _commandsToLog.Append(string.Join(',', _commands.ToList())); } switch (command) { case Commands.Down: scene.HandleDown(); break; case Commands.Left: scene.HandleLeft(_commandMultiplier); break; case Commands.Right: scene.HandleRight(_commandMultiplier); break; case Commands.Rotate: scene.HandleRotate(); break; case Commands.Pause: //?? break; case Commands.Reset: Run(); break; case Commands.Exit: default: _consoleScreen.DrawBye(); return(false); } } _commandMultiplier = 1; return(true); }