protected virtual void Dispose(bool disposing) { if (!disposing) { return; } _characterDrawResolver.Dispose(); _pluginInterface.Framework.OnUpdateEvent -= FrameworkOnOnUpdateEvent; _pluginInterface.UiBuilder.OnBuildUi -= BuildUi; _pluginInterface.UiBuilder.OnOpenConfigUi -= OpenConfigUi; _pluginInterface.Framework.Gui.Chat.OnChatMessage -= OnChatMessage; _pluginInterface.CommandManager.RemoveHandler(PluginCommandName); _pluginInterface.CommandManager.RemoveHandler(VoidCommandName); _pluginInterface.CommandManager.RemoveHandler(VoidTargetCommandName); _pluginInterface.CommandManager.RemoveHandler(WhitelistCommandName); _pluginInterface.CommandManager.RemoveHandler(WhitelistTargetCommandName); }