Exemple #1
0
        public static ISkyrimMod GetOrAddPatch(string EspName, bool forLVLI = false)
        {
            if (!(EspName.Contains(Patcher.PatcherSuffix) || EspName.Contains(Patcher.PatcherLLSuffix)))
            {
                var suffix = forLVLI ? Patcher.PatcherLLSuffix : Patcher.PatcherSuffix;
                EspName = EspName.Replace(".esp", "") + suffix;
            }

            ModKey modKey = ModKey.FromNameAndExtension(EspName);

            if (Patches.ContainsKey(modKey.FileName))
            {
                return(Patches.GetValueOrDefault(modKey.FileName));
            }

            ISkyrimMod patch = new SkyrimMod(modKey, SkyrimRelease.SkyrimSE);

            Patches.TryAdd(modKey.FileName, patch);
            Cache.Add(patch);
            //var x = ModListing<ISkyrimModGetter>.CreateEnabled(patch.ModKey);
            //State.LoadOrder.Add((IModListing<ISkyrimModGetter>)x, State.LoadOrder.Count - 2);

            return(patch);
        }