From 61b023916eb92237b3b10b30b77792139de1097d Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Wed, 9 May 2018 23:58:58 -0400 Subject: rewrite content logic to decentralise cache (#488) This is necessary due to changes in Stardew Valley 1.3, which now changes loaded assets and expects those changes to be persisted but not propagated to other content managers. --- src/SMAPI/Framework/ContentManagerShim.cs | 91 ------------------------------- 1 file changed, 91 deletions(-) delete mode 100644 src/SMAPI/Framework/ContentManagerShim.cs (limited to 'src/SMAPI/Framework/ContentManagerShim.cs') diff --git a/src/SMAPI/Framework/ContentManagerShim.cs b/src/SMAPI/Framework/ContentManagerShim.cs deleted file mode 100644 index 66754fd7..00000000 --- a/src/SMAPI/Framework/ContentManagerShim.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System; -using System.Globalization; -using StardewValley; - -namespace StardewModdingAPI.Framework -{ - /// A minimal content manager which defers to SMAPI's core content logic. - internal class ContentManagerShim : LocalizedContentManager - { - /********* - ** Properties - *********/ - /// SMAPI's core content logic. - private readonly ContentCore ContentCore; - - - /********* - ** Accessors - *********/ - /// The content manager's name for logs (if any). - public string Name { get; } - - - /********* - ** Public methods - *********/ - /// Construct an instance. - /// SMAPI's core content logic. - /// The content manager's name for logs (if any). - /// The service provider to use to locate services. - /// The root directory to search for content. - /// The current culture for which to localise content. - public ContentManagerShim(ContentCore contentCore, string name, IServiceProvider serviceProvider, string rootDirectory, CultureInfo currentCulture) - : base(serviceProvider, rootDirectory, currentCulture) - { - this.ContentCore = contentCore; - this.Name = name; - } - - /// Load an asset that has been processed by the content pipeline. - /// The type of asset to load. - /// The asset path relative to the loader root directory, not including the .xnb extension. - public override T Load(string assetName) - { - return this.Load(assetName, LocalizedContentManager.CurrentLanguageCode); - } - - /// Load an asset that has been processed by the content pipeline. - /// The type of asset to load. - /// The asset path relative to the loader root directory, not including the .xnb extension. - /// The language code for which to load content. - public override T Load(string assetName, LanguageCode language) - { - return this.ContentCore.Load(assetName, this, language); - } - - /// Load the base asset without localisation. - /// The type of asset to load. - /// The asset path relative to the loader root directory, not including the .xnb extension. - public override T LoadBase(string assetName) - { - return this.Load(assetName, LanguageCode.en); - } - - /// Inject an asset into the cache. - /// The type of asset to inject. - /// The asset path relative to the loader root directory, not including the .xnb extension. - /// The asset value. - public void Inject(string assetName, T value) - { - this.ContentCore.Inject(assetName, value, this); - } - - /// Create a new content manager for temporary use. - public override LocalizedContentManager CreateTemporary() - { - return this.ContentCore.CreateContentManager("(temporary)"); - } - - - /********* - ** Protected methods - *********/ - /// Dispose held resources. - /// Whether the content manager is disposing (rather than finalising). - protected override void Dispose(bool disposing) - { - this.ContentCore.DisposeFor(this); - } - } -} -- cgit