/// <summary> /// Check for loaded mods for compatibility reasons /// </summary> /// <param name="helper"></param> /// <returns></returns> private static CompatibilityInfo GetCompatibilityInfo(IModHelper helper) { // Compatibility checks bool cookingSkillLoaded = helper.ModRegistry.IsLoaded("spacechase0.CookingSkill"); bool categorizeChestsLoaded = helper.ModRegistry.IsLoaded("CategorizeChests"); bool convenientChestsLoaded = helper.ModRegistry.IsLoaded("aEnigma.ConvenientChests"); bool megaStorageLoaded = helper.ModRegistry.IsLoaded("Alek.MegaStorage"); bool chestAnywhereLoaded = helper.ModRegistry.IsLoaded("Pathoschild.ChestsAnywhere"); var compatibilityInfo = new CompatibilityInfo { CategorizeChestLoaded = categorizeChestsLoaded, ConvenientChestLoaded = convenientChestsLoaded, CookingSkillLoaded = cookingSkillLoaded, MegaStorageLoaded = megaStorageLoaded, ChestAnywhereLoaded = chestAnywhereLoaded }; return(compatibilityInfo); }
/// <inheritdoc /> /// <summary>The mod entry point, called after the mod is first loaded.</summary> /// <param name="helper">Provides simplified APIs for writing mods.</param> public override void Entry(IModHelper helper) { Instance = this; Config = helper.ReadConfig <Config>(); var textures = LoadAssets(helper); _compatibilityInfo = GetCompatibilityInfo(helper); ChestController = new ChestController(textures, _compatibilityInfo, Config); FridgeController = new FridgeController(ChestController); SaveManager = new SaveManager(ChestController, Config); Helper.Events.Display.MenuChanged += OnMenuChanged; Helper.Events.Display.RenderingActiveMenu += OnRenderingActiveMenu; Helper.Events.Input.ButtonPressed += OnButtonPressed; Helper.Events.GameLoop.SaveLoaded += SaveManager.SaveLoaded; Helper.Events.GameLoop.Saving += SaveManager.Saving; Helper.Events.GameLoop.GameLaunched += OnLaunch; Helper.Events.GameLoop.UpdateTicked += OnUpdateTicked; }