using System; namespace StardewModdingAPI { /// Generic metadata and methods for a content asset being loaded. /// The expected data type. public interface IContentEventData { /********* ** Accessors *********/ /// The content's locale code, if the content is localised. string Locale { get; } /// The normalised asset name being read. The format may change between platforms; see to compare with a known path. string AssetName { get; } /// The content data being read. TValue Data { get; } /// The content data type. Type DataType { get; } /********* ** Public methods *********/ /// Get whether the asset name being loaded matches a given name after normalisation. /// The expected asset path, relative to the game's content folder and without the .xnb extension or locale suffix (like 'Data\ObjectInformation'). bool IsAssetName(string path); /// Replace the entire content value with the given value. This is generally not recommended, since it may break compatibility with other mods or different versions of the game. /// The new content value. /// The is null. /// The 's type is not compatible with the loaded asset's type. void ReplaceWith(TValue value); } }