Exemple #1
0
        static void ExecuterQuandInactif(object sender, EventArgs e)
        {
            FonctionsNatives.Message message;

            while (!FonctionsNatives.PeekMessage(out message, IntPtr.Zero, 0, 0, 0))
            {
                TimeSpan currentTime = chrono.Elapsed;
                TimeSpan elapsedTime = currentTime - dernierTemps;
                dernierTemps = currentTime;

                tempsAccumule += elapsedTime;

                if (tempsAccumule >= tempsEcouleVoulu)
                {
                    lock (unLock)
                    {
                        if (modeEditeur != null && peutAfficher)
                        {
                            modeEditeur.MettreAJour((double)tempsAccumule.Ticks / TimeSpan.TicksPerSecond);
                        }
                        else if (partieRapide != null && peutAfficher)
                        {
                            partieRapide.MettreAJour((double)tempsAccumule.Ticks / TimeSpan.TicksPerSecond);
                        }
                    }
                    tempsAccumule = TimeSpan.Zero;
                }
            }
        }
        ////////////////////////////////////////////////////////////////////////
        ///
        /// @fn static void ExecuterQuandInactif(object sender, EventArgs e)
        /// @brief Operations executer lorsque l'application est inactive.
        ///
        /// @param[in] sender : Objet duquel provient un evenement
        /// @param[in] e : evenement qui lance la fonction.
        ///
        /// @return Aucune.
        ///
        ////////////////////////////////////////////////////////////////////////
        static void ExecuterQuandInactif(object sender, EventArgs e)
        {
            FonctionsNatives.Message message;

            while (!FonctionsNatives.PeekMessage(out message, IntPtr.Zero, 0, 0, 0))
            {
                TimeSpan currentTime = chrono.Elapsed;
                TimeSpan elapsedTime = currentTime - dernierTemps;
                dernierTemps = currentTime;

                tempsAccumule += elapsedTime;


                if (tempsAccumule >= tempsEcouleVoulu)
                {
                    lock (unLock)
                    {
                        double tempsInterAffichage = (double)tempsAccumule.Ticks / TimeSpan.TicksPerSecond;

                        if (mMenu.modeEdit != null && peutAfficher)
                        {
                            mMenu.modeEdit.MettreAJour(tempsInterAffichage);
                        }
                        else if (mMenu.modeJeuMain != null && peutAfficher)
                        {
                            mMenu.modeJeuMain.MettreAJour(tempsInterAffichage);
                        }
                        compteurFrames++;
                        if (compteurFrames >= RAFRAICHISSEMENT)
                        {
                            compteurFrames = 0;
                            if (customConsoleActive)
                            {
                                myCustomConsole.UpdateConsoleTexte(FonctionsNatives.obtenirCout());
                            }
                        }
                    }
                    tempsAccumule = TimeSpan.Zero;
                }
            }
        }