//------------------- //***** CLEANUP ***** //------------------- protected override void Dispose(bool disposing) { if (!World.Initialized) { return; } if (World.Instance.Client.ConnectedAndInitialized) { World.Instance.Client.Disconnect(); } if (loginUsernameTextbox != null) { loginUsernameTextbox.Dispose(); } if (loginPasswordTextbox != null) { loginPasswordTextbox.Dispose(); } foreach (XNAButton btn in mainButtons) { if (btn != null) { btn.Dispose(); } } foreach (XNAButton btn in loginButtons) { if (btn != null) { btn.Dispose(); } } foreach (XNAButton btn in createButtons) { if (btn != null) { btn.Dispose(); } } foreach (XNAButton btn in loginCharButtons) { if (btn != null) { btn.Dispose(); } } if (passwordChangeBtn != null) { passwordChangeBtn.Dispose(); } if (backButton != null) { backButton.Dispose(); } if (lblCredits != null) { lblCredits.Dispose(); } foreach (XNATextBox btn in accountCreateTextBoxes) { if (btn != null) { btn.Dispose(); } } if (spriteBatch != null) { spriteBatch.Dispose(); } ((IDisposable)graphics).Dispose(); if (lblVersionInfo != null) { lblVersionInfo.Dispose(); } if (connectMutex != null) { connectMutex.Dispose(); } GFXLoader.Cleanup(); World.Instance.Dispose(); base.Dispose(disposing); }