public static GameEnvironmentState <ISkyrimMod, ISkyrimModGetter> Skyrim( this GameEnvironment env, SkyrimRelease gameRelease, LinkCachePreferences?linkCachePrefs = null) { return(env.Construct <ISkyrimMod, ISkyrimModGetter>(gameRelease.ToGameRelease(), linkCachePrefs)); }
public Global( FormKey formKey, SkyrimRelease gameRelease) { this.FormKey = formKey; this.FormVersion = gameRelease.ToGameRelease().GetDefaultFormVersion() !.Value; CustomCtor(); }
public void AddAHearthFiresThing(SkyrimRelease release) { var xHFSxConstructionFLSTFormLink = release switch { SkyrimRelease.SkyrimLE => HearthFireStores_GS.FormList.xHFSxConstructionFLST, SkyrimRelease.SkyrimSE or SkyrimRelease.SkyrimVR => GeneralStores.FormList.xHFSxConstructionFLST, _ => throw new ArgumentException(null, nameof(release)), }; var gameRelease = release switch { SkyrimRelease.SkyrimLE => GameRelease.SkyrimLE, SkyrimRelease.SkyrimSE => GameRelease.SkyrimSE, SkyrimRelease.SkyrimVR => GameRelease.SkyrimVR, _ => throw new ArgumentException(null, nameof(release)), }; var generalStores = new SkyrimMod(xHFSxConstructionFLSTFormLink.FormKey.ModKey, release); var xHFSxConstructionFLST = new FormList(xHFSxConstructionFLSTFormLink.FormKey, release); generalStores.FormLists.Add(xHFSxConstructionFLST); SkyrimMod masterMod = new(masterModKey, release); var newThing = masterMod.MiscItems.AddNew("newItem"); SkyrimMod patchMod = new(patchModKey, release); var loadOrder = new LoadOrder <IModListing <ISkyrimModGetter> > { new ModListing <ISkyrimModGetter>(generalStores, true), new ModListing <ISkyrimModGetter>(masterMod, true), new ModListing <ISkyrimModGetter>(patchMod, true) }; var linkCache = loadOrder.ToImmutableLinkCache(); Program program = new(loadOrder, linkCache, patchMod, gameRelease); program.hearthFiresConstructionSet.Add(newThing.AsLink()); program.RecordClassifiedItems(); Assert.Single(patchMod.FormLists); var updatedFlst = patchMod.FormLists.Single(); Assert.Equal(xHFSxConstructionFLSTFormLink, updatedFlst.AsLink()); Assert.Single(updatedFlst.Items); var newThingLink = updatedFlst.Items.Single(); Assert.False(newThingLink.IsNull); Assert.Equal(newThing.AsLink(), newThingLink); }
public SkyrimRecords_Tests(SkyrimRelease release) : base(new SkyrimMod(patchModKey, release)) { this.release = release; }
public static IReadOnlyCollection <ModKey> Skyrim( this ImplicitBaseMasters _, SkyrimRelease release) { return(Implicits.Get(release.ToGameRelease()).BaseMasters); }
public static IReadOnlyCollection <FormKey> Skyrim( this ImplicitRecordFormKeys _, SkyrimRelease release) { return(Implicits.Get(release.ToGameRelease()).RecordFormKeys); }
public static IReadOnlyCollection <ModKey> Skyrim( this ImplicitListings _, SkyrimRelease release) { return(Implicits.Get(release.ToGameRelease()).Listings); }