Skip to content

Unload

Called when a plugin is being unloaded

Usage

  • No return behavior

Example Autogenerated

csharp
private void Unload(  )
{
    Puts( "Unload works!" );
}

Location

  • CSharpPlugin::HandleRemovedFromManager(PluginManager manager)
csharp
public override void HandleRemovedFromManager(PluginManager manager)
{
	if (IsLoaded)
	{
		CallHook("Unload", null);
	}

	Watcher.RemoveMapping(Name);

	Manager.OnPluginAdded -= OnPluginLoaded;
	Manager.OnPluginRemoved -= OnPluginUnloaded;

	foreach (var member in pluginReferenceMembers)
	{
		if (member.Value.MemberType == MemberTypes.Property)
		{
			((PropertyInfo)member.Value).SetValue(this, null, null);
		}
		else
		{
			((FieldInfo)member.Value).SetValue(this, null);
		}
	}

	base.HandleRemovedFromManager(manager);
}

Released under the MIT License.