Skip to content

OnPluginUnloaded

Called when any plugin has been unloaded. Not to be confused with Unload

Usage

  • No return behavior

Example Autogenerated

csharp
private void OnPluginUnloaded( Plugin plugin )
{
    Puts( "OnPluginUnloaded works!" );
}

Location

  • OxideMod:: UnloadPlugin()(string name)
csharp
public bool UnloadPlugin(string name)
{
	// Get the plugin
	Plugin plugin = RootPluginManager.GetPlugin(name);
	if (plugin == null || (plugin.IsCorePlugin && !IsShuttingDown))
	{
		return false;
	}

	// Let the plugin loader know that this plugin is being unloaded
	PluginLoader loader = extensionManager.GetPluginLoaders().SingleOrDefault(l => l.LoadedPlugins.ContainsKey(name));
	loader?.Unloading(plugin);

	// Unload it
	RootPluginManager.RemovePlugin(plugin);

	// Let other plugins know that this plugin has been unloaded
	if (plugin.IsLoaded)
	{
		CallHook("OnPluginUnloaded", plugin);
	}

	plugin.IsLoaded = false;

	LogInfo("Unloaded plugin {0} v{1} by {2}", plugin.Title, plugin.Version, plugin.Author);
	return true;
}

Released under the MIT License.