public ModInfo FindModSettings(string name) { var settings = ModSettings.FirstOrDefault( x => string.Equals(x.FolderName, name, StringComparison.InvariantCultureIgnoreCase) ); #if DEBUG PluginLog.Information("finding mod {ModName} - found: {ModSettingsExist}", name, settings != null); #endif return(settings); }
public void ReorderMod(ModInfo info, bool up) { // todo: certified f****d tier var prio = info.Priority; var swapPrio = up ? prio + 1 : prio - 1; var swapMeta = ModSettings.FirstOrDefault(x => x.Priority == swapPrio); if (swapMeta == null) { return; } info.Priority = swapPrio; swapMeta.Priority = prio; // reorder mods list ModSettings = ModSettings.OrderBy(x => x.Priority).ToList(); EnabledMods = GetOrderedAndEnabledModList().ToArray(); // save new prios Save(); }