Esempio n. 1
0
        /// <summary>
        /// Performs mod registration when a game level is loaded.
        /// </summary>
        /// <param name="mode">The mode the game level is loaded in.</param>
        public override void OnLevelLoaded(LoadMode mode)
        {
            currentloadmode = mode;

            if (patcher == null)
            {
                return;
            }

            switch (mode)
            {
            case LoadMode.NewGame:
            case LoadMode.LoadGame:
            case LoadMode.LoadScenario:
            case LoadMode.NewGameFromScenario:
                break;

            default:
                if (!isWorkshopMode || patcher == null)
                {
                    return;
                }

                PluginManager.instance.eventPluginsChanged -= ModsChanged;

                patcher.Revert();
                patcher = null;
                VehicleManagerCustomizer.Revert();

                Log.Info("The 'More Vehicles' mod has been disabled in Map or Asset editor mod");
                return;
            }

            var gameMetadata = SimulationManager.instance.m_metaData;

            if (gameMetadata == null)
            {
                return;
            }

            lock (gameMetadata)
            {
                if (gameMetadata.m_modOverride == null)
                {
                    gameMetadata.m_modOverride = new Dictionary <string, bool>();
                }

                gameMetadata.m_modOverride[Constants.MetadataModName] = true;
            }
        }
Esempio n. 2
0
        /// <summary>Called when this mod is disabled.</summary>
        public void OnDisabled()
        {
            if (!isWorkshopMode || patcher == null)
            {
                return;
            }

            PluginManager.instance.eventPluginsChanged -= ModsChanged;

            patcher.Revert();
            patcher = null;
            VehicleManagerCustomizer.Revert();

            Log.Info("The 'More Vehicles' mod has been disabled.");
        }