From 509e8bd873c4e9af177806dc49e35e85b3a26582 Mon Sep 17 00:00:00 2001 From: Iron-Chancellor <87157643+Iron-Chancellor@users.noreply.github.com> Date: Wed, 24 Nov 2021 18:53:02 -0600 Subject: [PATCH] refresh mods now searches !Workshop folder --- TADST/Profile.cs | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/TADST/Profile.cs b/TADST/Profile.cs index 94f599a..8070075 100644 --- a/TADST/Profile.cs +++ b/TADST/Profile.cs @@ -321,15 +321,37 @@ private IEnumerable ScanModFolders() var runFolder = new DirectoryInfo(Path.GetFullPath(runPath)); IEnumerable modFolders = runFolder.GetDirectories(); + return modFolders.OrderBy(x => x.Name); + } + + /// + /// Scan !Workshop directory for mod folders + /// + /// + private IEnumerable ScanWorkshopModFolders() + { + var runPath = Environment.CurrentDirectory; + var runFolder = new DirectoryInfo(Path.GetFullPath(runPath)+"\\!Workshop"); + IEnumerable modFolders = runFolder.GetDirectories(); + return modFolders.OrderBy(x => x.Name); } /// - /// Scan game directory for mods and add them to list + /// Scan game directory and !Workshop for mods and add them to list /// public void ScanMods() { - var modFolders = ScanModFolders(); + var modFolders = ScanWorkshopModFolders(); + + foreach (var modFolder in modFolders) + { + if (!(_mods.Any(x => x.Name == modFolder.Name))) + { + _mods.Add(new Mod("!Workshop\\"+modFolder.Name, false)); + } + } + modFolders = ScanModFolders(); foreach (var modFolder in modFolders) { @@ -987,4 +1009,4 @@ public int DisconnectTimeout set { _disconnectTimeout = value; } } } -} \ No newline at end of file +}