using System;
using StardewModdingAPI.Framework.Reflection;
using StardewModdingAPI.Toolkit.Serialization;
using StardewValley;
namespace StardewModdingAPI.Framework
{
/// The static state to use while is initializing, which happens before the constructor runs.
internal class SGameConstructorHack
{
/*********
** Accessors
*********/
/// Encapsulates monitoring and logging.
public IMonitor Monitor { get; }
/// Simplifies access to private game code.
public Reflector Reflection { get; }
/// Encapsulates SMAPI's JSON file parsing.
public JsonHelper JsonHelper { get; }
/// A callback to invoke the first time *any* game content manager loads an asset.
public Action OnLoadingFirstAsset { get; }
/*********
** Public methods
*********/
/// Construct an instance.
/// Encapsulates monitoring and logging.
/// Simplifies access to private game code.
/// Encapsulates SMAPI's JSON file parsing.
/// A callback to invoke the first time *any* game content manager loads an asset.
public SGameConstructorHack(IMonitor monitor, Reflector reflection, JsonHelper jsonHelper, Action onLoadingFirstAsset)
{
this.Monitor = monitor;
this.Reflection = reflection;
this.JsonHelper = jsonHelper;
this.OnLoadingFirstAsset = onLoadingFirstAsset;
}
}
}