/// <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; } }
/// <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."); }