/// <summary> /// Initializes the needed classes for the mod. /// </summary> private void InitializeClasses() { PackHelper = new ContentPackHelper(this); Dresser = new DresserHandler(this, Config); PlayerLoader = new CharacterLoader(this, PackHelper, Dresser); MenuPatcher = new SaveLoadMenuPatcher(this, PlayerLoader); HarmonyHelper = new HarmonyHelper(this); }
/// <summary>The mods entry point.</summary>> /// <param name="helper">SMAPI's mod helper</param> public override void Entry(IModHelper helper) { //Load the config Config = helper.ReadConfig <ModConfig>(); //Initialize classes PackHelper = new ContentPackHelper(this); Dresser = new DresserHandler(this, Config); PlayerLoader = new CharacterLoader(this, PackHelper, Dresser); MenuPatcher = new SaveLoadMenuPatcher(this, PlayerLoader); //Set up the events helper.Events.Input.ButtonPressed += OnButtonPressed; helper.Events.GameLoop.GameLaunched += OnGameLaunched; helper.Events.GameLoop.SaveLoaded += OnSaveLoaded; helper.Events.GameLoop.ReturnedToTitle += OnReturnedToTitle; //Check if SpaceCore is Installed IsSpaceCoreInstalled = Helper.ModRegistry.IsLoaded("spacechase0.SpaceCore"); Monitor.Log($"Space Core Installed: {IsSpaceCoreInstalled}", LogLevel.Trace); //Check if Customize Anywhere is installed IsCustomizeAnywhereInstalled = Helper.ModRegistry.IsLoaded("Cherry.CustomizeAnywhere"); Monitor.Log($"Customize AnyWhere Installed: {IsCustomizeAnywhereInstalled}", LogLevel.Trace); //if it's installed then register the extended tilesheets if (IsSpaceCoreInstalled) { Monitor.Log("Reflecting into SpaceCore", LogLevel.Trace); SpaceCoreHackery(); } //Initialized the LoadSaveMenu Patcher MenuPatcher.Init(); //Conduct the Harmony Patch Harmony = HarmonyInstance.Create(this.ModManifest.UniqueID); CommenceHarmonyPatch(); //Add the ContentLoader class to the AssetLoader List helper.Content.AssetLoaders.Add(new ContentLoader(this, PackHelper)); }