public bool OverridesFolder(string which) { if (_archive != null) { if (_archive.HasFolder(which)) { return(true); } foreach (string extra in ExtraFolders) { if (_archive.HasFolder(extra + "\\" + which)) { return(true); } } foreach (var cf in Conditionals) { if (_archive.HasFolder(cf.Folder + "\\" + which)) { return(true); } } } else { string file = System.IO.Path.Combine(BaseFolder, which); if (DirExists(file)) { return(true); } foreach (string extra in ExtraFolders) { if (DirExists(System.IO.Path.Combine(BaseFolder, extra, which))) { return(true); } } foreach (var cf in Conditionals) { file = System.IO.Path.Combine(BaseFolder, cf.Folder, which); if (DirExists(file)) { return(true); } } } return(false); }