Exemple #1
0
        protected override void Update(GameTime gameTime)
        {
            if (m_networkDied)
            {
                ConnectionControl.SetStatus("Connection died.");
                CleanUpNetwork();
                SwitchMode(GameMode.Connect);
            }

            InputManager.Update();

            if (IsActive)
            {
                if (IsExitInput())
                {
                    HandleExitInput();
                }

                ActiveControl.HandleInput();
            }

            if (Network != null)
            {
                foreach (PackageInterface package in Network.GetTCPPackages())
                {
                    ActiveControl.ProcessServerData(package);
                }
            }

            // a switch to finish can happen in between those lines which disconnects -> check again if its dead
            if (Network != null)
            {
                PackageInterface udpPackage = Network.GetUDPPackage();
                if (udpPackage != null)
                {
                    ActiveControl.ProcessServerData(udpPackage);
                }
            }

            ActiveControl.Update(gameTime);

            base.Update(gameTime);
        }