Пример #1
0
        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);
        }