示例#1
0
        public override void Update(GameTime gameTime)
        {
            mouseRec = new Rectangle(mouse.X, mouse.Y, 5, 5);
            if (endFirstClic && mouse.LeftButton == ButtonState.Pressed)
            {
                if (mouseRec.Intersects(volumeEffects))
                {
                    EffetSonore.volume = (float)(mouse.X - volumeEffects.X) / volumeEffects.Width;
                }
                else if (mouseRec.Intersects(volumeFondSonore))
                {
                    FondSonore.volume = (float)(mouse.X - volumeFondSonore.X) / volumeEffects.Width;
                    FondSonore.UpdateVolume();
                }
                else if (oldMouse.LeftButton == ButtonState.Released)
                {
                    if (mouseRec.Intersects(boutonPleinEcran))
                    {
                        isFullscreen = !isFullscreen;
                        CrystalGate.CrystalGateGame.graphics.ToggleFullScreen();
                    }
                    else if (mouseRec.Intersects(boutonLangue))
                    {
                        _currentLanguage++;

                        if (_currentLanguage > Language.Français)
                        {
                            _currentLanguage = 0;
                        }

                        if (_currentLanguage == Language.Français)
                        {
                            GameText.langue = "french";
                        }
                        else if (_currentLanguage == Language.English)
                        {
                            GameText.langue = "english";
                        }
                        GameText.initGameText();
                    }
                    else if (mouseRec.Intersects(boutonResolution))
                    {
                        _currentRes++;
                        if (_currentRes == possibleResolutions.Count)
                        {
                            _currentRes = 0;
                        }
                        CrystalGateGame.graphics.PreferredBackBufferWidth  = possibleResolutions[_currentRes].width;
                        CrystalGateGame.graphics.PreferredBackBufferHeight = possibleResolutions[_currentRes].height;
                        CrystalGateGame.graphics.ApplyChanges();
                        SceneHandler.UpdatePositions();
                    }
                    else if (mouseRec.Intersects(boutonCredits))
                    {
                        SceneHandler.gameState = GameState.Credits;
                        SceneHandler.creditsScene.ecranPrecedent = GameState.Setting;
                        SceneHandler.creditsScene.Reinit();
                    }
                    else if (mouseRec.Intersects(boutonRetour))
                    {
                        if (isPauseOption)
                        {
                            SceneHandler.gameState = GameState.Pause;
                        }
                        else
                        {
                            SceneHandler.gameState = GameState.MainMenu;
                        }
                        endFirstClic = false;
                    }
                }
            }
            else if (!endFirstClic && mouse.LeftButton == ButtonState.Released)
            {
                endFirstClic = true;
            }

            if (isPauseOption && keyboardState.IsKeyDown(Keys.Escape))
            {
                SceneHandler.gameState = GameState.Gameplay;
            }
            fullscreenText = (isFullscreen ? noT.get() : yesT.get());

            positionTexteVolumeEffects    = new Vector2(volumeEffects.Left - spriteFont.MeasureString(effetSonoreT.get() + " :").X, volumeEffects.Center.Y - spriteFont.MeasureString(effetSonoreT.get() + " :").Y / 2);
            positionTexteVolumeFondSonore = new Vector2(volumeFondSonore.Left - spriteFont.MeasureString(fondSonoreT.get() + " :").X, volumeFondSonore.Center.Y - spriteFont.MeasureString(fondSonoreT.get() + " :").Y / 2);
            positionTexteFullscreen       = new Vector2(boutonPleinEcran.Left - spriteFont.MeasureString(pleinEcranT.get() + " :").X, boutonPleinEcran.Center.Y - spriteFont.MeasureString(pleinEcranT.get() + " :").Y / 2);
            positionTexteLangue           = new Vector2(boutonLangue.Left - spriteFont.MeasureString(langueT.get() + " :").X, boutonLangue.Center.Y - spriteFont.MeasureString(langueT.get() + " :").Y / 2);
            positionTexteResolution       = new Vector2(boutonResolution.Left - spriteFont.MeasureString(resolutionT.get() + " :").X, boutonResolution.Center.Y - spriteFont.MeasureString(resolutionT.get() + " :").Y / 2);
        }