public void Dispose() { if (timedRecruitment.isRunning) { timedRecruitment.runUntil = 0; Config.Enable = false; } easierProcessCIDHook.Dispose(); // easierProcessEurekaInviteHook.Dispose(); ChatGui.ChatMessage -= Chat_OnChatMessage; // Interface.Framework.Network.OnNetworkMessage -= Chat_OnNetworkMessage; ClientState.TerritoryChanged -= TerritoryChanged; CmdManager.RemoveHandler("/xinvite"); Gui?.Dispose(); Interface?.Dispose(); }