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);
        }