Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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;
        }