コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }