Ejemplo n.º 1
0
        //-------------------
        //***** 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);
        }