/// <summary> /// Constructs a mutable load order link cache by combining an existing immutable load order cache, /// plus a set of mods to be put at the end of the load order and allow to be mutable. /// </summary> /// <param name="mutableMods">Set of mods to place at the end of the load order, which are allowed to be modified afterwards</param> public MutableLoadOrderLinkCache(params TMod[] mutableMods) { WrappedImmutableCache = ImmutableLoadOrderLinkCache <TMod, TModGetter> .Empty; _mutableMods = mutableMods.Select(m => m.ToMutableLinkCache <TMod, TModGetter>()).ToList(); }
/// <summary> /// Constructs a mutable load order link cache by combining an existing immutable load order cache, /// plus a set of mods to be put at the end of the load order and allow to be mutable. /// </summary> /// <param name="immutableBaseCache">LoadOrderCache to use as the immutable base</param> /// <param name="mutableMods">Set of mods to place at the end of the load order, which are allowed to be modified afterwards</param> public MutableLoadOrderLinkCache(ImmutableLoadOrderLinkCache <TMod, TModGetter> immutableBaseCache, params TMod[] mutableMods) { WrappedImmutableCache = immutableBaseCache; _mutableMods = mutableMods.Select(m => m.ToMutableLinkCache <TMod, TModGetter>()).ToList(); }