Exemplo n.º 1
0
        public void Run()
        {
            _soundEngine.Play(StationManager.PlayingStation);
            AvailableActions.PlayerAction playerAction = AvailableActions.PlayerAction.None;
            do
            {
                _displayEngine.Draw(StationManager.Stations);
                playerAction = Console.ReadKey().ToPlayerAction();
                switch (playerAction)
                {
                case AvailableActions.PlayerAction.None:
                    break;

                case AvailableActions.PlayerAction.Quit:
                    break;

                case AvailableActions.PlayerAction.Add:
                    if (!StationManager.AddStation(_displayEngine.AddStation()))
                    {
                        _displayEngine.ShowMessage(new Message("This station could not be added. Check URL", MessageType.Critical));
                    }
                    break;

                case AvailableActions.PlayerAction.VolumeDown:
                    _soundEngine.VolumeDown();
                    break;

                case AvailableActions.PlayerAction.VolumeUp:
                    _soundEngine.VolumeUp();
                    break;

                case AvailableActions.PlayerAction.Next:
                    _soundEngine.Play(StationManager.Next());
                    break;

                case AvailableActions.PlayerAction.Previous:
                    _soundEngine.Play(StationManager.Previous());
                    break;

                case AvailableActions.PlayerAction.Pause:
                    _soundEngine.Pause(StationManager.PlayingStation);
                    break;

                case AvailableActions.PlayerAction.Delete:
                    StationManager.DeleteStation(_displayEngine.DeleteStation(StationManager.Stations));
                    break;

                default:
                    break;
                }
            } while (playerAction != AvailableActions.PlayerAction.Quit);
            ApplicationDataHandler.Save(StationManager);
        }