protected IEnumerable <IMod> SearchDiskMods() { var modsDir = Directory.GetDirectories("Mods").FirstOrDefault(); if (modsDir is null || !modsDir.Exists) { return(Enumerable.Empty <IMod>()); } var modFolders = modsDir.EnumerateDirectories() .Where(x => !x.Attributes.HasFlag(FileAttributes.Hidden)).ToList(); return(modFolders.SelectMany(folder => ModFactory.CreateModAndVariants(this, ModType.Default, folder, true))); }
private IEnumerable <IMod> SearchSteamMods() { var mods = new List <IMod>(); mods.AddRange(SearchDiskMods()); var workshopsPath = FileUtilities.NormalizePath(Path.Combine(Directory.FullName, @"..\..\..\workshop\content\32470\")); var workshopsDir = new DirectoryInfo(workshopsPath); if (!workshopsDir.Exists) { return(mods); } var modDirs = workshopsDir.EnumerateDirectories(); var workshopMods = modDirs.SelectMany(folder => ModFactory.CreateModAndVariants(this, ModType.Workshops, folder, true)); mods.AddRange(workshopMods); return(mods); }