public void Establish() { ConsoleKeyInfo key; ManagementOfWork toWork = new ManagementOfWork(); cursor.Show(); toWork.ToWork = true; Down downArrow = new Down(cursor, field); Left leftArrow = new Left(cursor); Right rightArrow = new Right(cursor, field); Up upArrow = new Up(cursor); Start spacebar = new Start(toWork); Remove delete = new Remove(cursor, sources, pipes); AddPipe enter = new AddPipe(cursor, sources, pipes); AddSource s = new AddSource(cursor, sources, pipes); commands.Add(downArrow); commands.Add(leftArrow); commands.Add(rightArrow); commands.Add(upArrow); commands.Add(spacebar); commands.Add(delete); commands.Add(enter); commands.Add(s); while (toWork.ToWork) { key = Console.ReadKey(); List <PipelineElement> pipelineElement = new List <PipelineElement>(); pipelineElement.AddRange(pipes); pipelineElement.AddRange(sources); Console.SetCursorPosition(cursor.X, cursor.Y); // очистка хвоста Console.WriteLine(' '); foreach (PipelineElement element in pipelineElement) { if (cursor.Y == element.Height && element.Width == cursor.X) { Console.SetCursorPosition(cursor.X, cursor.Y); element.Print(); break; } } foreach (ICommand command in commands) { command.Executive(key); } Console.ResetColor(); cursor.Show(); field.Show(); } }
private static void LoadModules(ModuleContainer moduleContainer) { //Global resource/s. var baseFont = new Font(AssPath + "/Resources/Fonts/SourceSansPro-Regular.otf"); baseFont.GetTexture(14).Smooth = false; //Modules /* Modules shouldn't depend on other modules unless absolutely neccessary. * Draw order is determined by the order they are added to the container. */ var pBar = new ProgressBar(); var songList = new SongList(baseFont); Audio.CurrentSongList = songList; var dragWindow = new DragWindow(); var playButton = new PlayButton(); var border = new Border(); var volumeControl = new VolumeControl(); var shuffle = new ShuffleButton(); var repeat = new RepeatButton(); var add = new AddSource(); var spriteBatch = new SpriteBatchMod(SpriteBatch); var search = new TextSearch(songList, baseFont); var hotkeys = new HotKeys(pBar, songList, volumeControl); moduleContainer.AddModule(pBar); moduleContainer.AddModule(songList); moduleContainer.AddModule(dragWindow); moduleContainer.AddModule(playButton); moduleContainer.AddModule(volumeControl); moduleContainer.AddModule(shuffle); moduleContainer.AddModule(repeat); moduleContainer.AddModule(add); moduleContainer.AddModule(spriteBatch); moduleContainer.AddModule(border); moduleContainer.AddModule(search); moduleContainer.AddModule(hotkeys); //Module specific resources songList.LoadFromMultipleDirectories(Config.musicDirectories); songList.SortByArtist(); //Remove duplicates. var duplicates = songList.GroupBy(x => x.Name).Where(x => x.Count() > 1); foreach (Song song in duplicates .SelectMany(duplicate => duplicate.Take(duplicate.Count() - 1))) { songList.Remove(song); } }
private void Awake() { instance = this; }