private bool AssertTypeObject(AddFilesType type, IGameFileDataSource iwad, ISourcePortDataSource sourcePort) { if (type != AddFilesType.SourcePort) { return((type == AddFilesType.IWAD) && (iwad > null)); } return(sourcePort > null); }
private List <IGameFileDataSource> GetAdditionalFiles(AddFilesType type, IGameFileDataSource gameIwad, ISourcePortDataSource sourcePort) { if (type != AddFilesType.SourcePort) { if (type == AddFilesType.IWAD) { return(DoomLauncher.Util.GetAdditionalFiles(this.DataSourceAdapter, gameIwad)); } return(null); } return(DoomLauncher.Util.GetAdditionalFiles(this.DataSourceAdapter, sourcePort)); }
private List <IGameFileDataSource> FileListMemberForType(AddFilesType type) { if (type != AddFilesType.SourcePort) { if (type == AddFilesType.IWAD) { return(this.m_iwadAdditionalFiles); } return(null); } return(this.m_sourcePortAdditionalFiles); }
private List <IGameFile> GetAdditionalFiles(AddFilesType type, IGameFile gameIwad, ISourcePort sourcePort) { switch (type) { case AddFilesType.IWAD: if (gameIwad != null) { return(Util.GetAdditionalFiles(m_adapter, gameIwad)); } break; case AddFilesType.SourcePort: if (sourcePort != null) { return(Util.GetAdditionalFiles(m_adapter, sourcePort)); } break; } return(new List <IGameFile>()); }
private void AddExtraAdditionalFiles(AddFilesType type) { ISourcePortDataSource selectedItem = this.cmbSourcePorts.SelectedItem as ISourcePortDataSource; IGameFileDataSource selectedIWad = this.SelectedIWad; if (((selectedIWad != null) && this.ShouldAddExtraAdditionalFiles()) && this.AssertTypeObject(type, selectedIWad, selectedItem)) { List <IGameFileDataSource> source = this.ctrlFiles.GetFiles().Cast <IGameFileDataSource>().ToList <IGameFileDataSource>(); List <IGameFileDataSource> second = source.ToList <IGameFileDataSource>(); List <IGameFileDataSource> newTypeFiles = this.GetAdditionalFiles(type, selectedIWad, selectedItem); List <IGameFileDataSource> memberTypeFiles = this.FileListMemberForType(type); memberTypeFiles.RemoveAll(x => newTypeFiles.Contains(x)); source.RemoveAll(x => memberTypeFiles.Contains(x)); memberTypeFiles.Clear(); memberTypeFiles.AddRange(newTypeFiles); source.AddRange(memberTypeFiles); this.ctrlFiles.SetDataSource(source.Distinct <IGameFileDataSource>().ToList <IGameFileDataSource>()); this.ResetSpecificFilesSelections(source.Except <IGameFileDataSource>(second).ToArray <IGameFileDataSource>()); } }
private List <IGameFile> GetAdditionalFiles(AddFilesType type, IGameFile gameIwad, ISourcePortData sourcePort) { switch (type) { case AddFilesType.IWAD: if (gameIwad != null) { var ret = Util.GetAdditionalFiles(m_adapter, (GameFile)gameIwad).Except(Util.GetSourcePortAdditionalFiles(m_adapter, (GameFile)gameIwad)).ToList(); ret.Remove(gameIwad); return(ret); } break; case AddFilesType.SourcePort: if (sourcePort != null) { return(Util.GetAdditionalFiles(m_adapter, sourcePort)); } break; } return(new List <IGameFile>()); }