Exemple #1
0
        public override void LoadContent()
        {
            vxEngine.LoadResolution = true;
            base.LoadContent();


            //Full Screen
            /*****************************************************************************************************/
            vxSettingsGUIItem LanguageSelectSettingsItem = new vxSettingsGUIItem(
                vxEngine, InternalvxGUIManager, "Language", vxEngine.Language.LanguageName,
                new Vector2(this.ArtProvider.BoundingGUIRectangle.X, this.ArtProvider.BoundingGUIRectangle.Y));

            //Add in languages
            foreach (vxLanguagePackBase language in vxEngine.Languages)
            {
                LanguageSelectSettingsItem.ValueComboBox.AddItem(language.LanguageName);
            }

            LanguageSelectSettingsItem.ValueComboBox.SelectionChanged += delegate(object sender, vxComboBoxSelectionChangedEventArgs e) {
                vxEngine.Language = vxEngine.Languages[e.SelectedIndex];

                vxConsole.WriteLine("Setting Language to: " + vxEngine.Language.LanguageName);
            };

            Btn_Apply.Clicked += new EventHandler <vxGuiItemClickEventArgs>(Btn_Apply_Clicked);
            Btn_Ok.Clicked    += new EventHandler <vxGuiItemClickEventArgs>(Btn_Ok_Clicked);
        }
Exemple #2
0
        /// <summary>
        /// Load graphics content for the screen.
        /// </summary>
        public override void LoadContent()
        {
            vxEngine.LoadResolution = true;
            base.LoadContent();

            this.Title = vxEngine.Language.Get(vxLocalization.Keyboard_TitleSettings);

            QWERTYPresetKeyBindings = new KeyBindings(vxEngine, KeyboardTypes.QWERTY);
            AZERTYPresetKeyBindings = new KeyBindings(vxEngine, KeyboardTypes.AZERTY);


            //All Items below are stored in this column as it's the longest word

            float Margin    = vxEngine.GraphicsDevice.Viewport.Width / 2 - this.viewportSize.X / 2 + 25;
            float MarginTwo = Margin + 450;

            int horiz    = 0;
            int horizTwo = 0;



            // Keyboard Preset Settings Item
            /*****************************************************************************************************/
            var KeyboardPresetSettingsItem = new vxSettingsGUIItem(
                vxEngine, InternalvxGUIManager, "Preset",
                "QWERTY",
                new Vector2(this.ArtProvider.BoundingGUIRectangle.X, this.ArtProvider.BoundingGUIRectangle.Y + horiz));

            horiz += 45;
            KeyboardPresetSettingsItem.ValueComboBox.AddItem(KeyboardTypes.QWERTY.ToString());
            KeyboardPresetSettingsItem.ValueComboBox.AddItem(KeyboardTypes.AZERTY.ToString());
            KeyboardPresetSettingsItem.ValueComboBox.AddItem(KeyboardTypes.CUSTOM.ToString());
            KeyboardPresetSettingsItem.ValueComboBox.SelectionChanged += delegate(object sender, vxComboBoxSelectionChangedEventArgs e) {
                KeyBindings presetKeyBindings = new KeyBindings(vxEngine);

                bool continueOn = true;

                switch ((KeyboardTypes)e.SelectedIndex)
                {
                case KeyboardTypes.QWERTY:
                    presetKeyBindings = QWERTYPresetKeyBindings;
                    break;

                case KeyboardTypes.AZERTY:
                    presetKeyBindings = AZERTYPresetKeyBindings;
                    break;

                default:
                    continueOn = false;
                    break;
                }

                if (continueOn)
                {
                    foreach (vxKeyBindingSettingsGUIItem guiitem in KeyBindingGUIItems)
                    {
                        guiitem.KeyBinding  = presetKeyBindings.Bindings[guiitem.BindingID];
                        guiitem.Button.Text = presetKeyBindings.Bindings[guiitem.BindingID].Key.ToString();
                    }
                }
            };



            // Key Bindings
            /*****************************************************************************************************/

            foreach (KeyValuePair <object, KeyBinding> binding in vxEngine.InputManager.KeyBindings.Bindings)
            {
                var keyBinding = new vxKeyBindingSettingsGUIItem(
                    vxEngine, InternalvxGUIManager,
                    binding.Value.Name,
                    binding.Value,
                    binding.Key,
                    new Vector2(this.ArtProvider.BoundingGUIRectangle.X + MarginTwo, this.ArtProvider.BoundingGUIRectangle.Y + horizTwo));

                KeyBindingGUIItems.Add(keyBinding);

                horizTwo += 45;
            }



            Btn_Apply.Clicked += new EventHandler <vxGuiItemClickEventArgs>(Btn_Apply_Clicked);
            Btn_Ok.Clicked    += new EventHandler <vxGuiItemClickEventArgs>(Btn_Ok_Clicked);
        }
        /// <summary>
        /// Load graphics content for the screen.
        /// </summary>
        public override void LoadContent()
        {
            vxEngine.LoadResolution = true;
            base.LoadContent();

            this.Title = vxEngine.Language.Get(vxLocalization.Settings_Graphics);



            //All Items below are stored in this column as it's the longest word

            float Margin    = vxEngine.GraphicsDevice.Viewport.Width / 2 - this.viewportSize.X / 2 + 25;
            float MarginTwo = Margin + 375;

            int horiz    = 0;
            int horizTwo = 0;

            //Resolutions
            /*****************************************************************************************************/
            //Get Current Resolution
            PresentationParameters pp = vxEngine.GraphicsDevice.PresentationParameters;
            string currentRes         = string.Format("{0}x{1}", pp.BackBufferWidth, pp.BackBufferHeight);

            vxSettingsGUIItem ResolutionSettingsItem = new vxSettingsGUIItem(
                vxEngine, InternalvxGUIManager, vxEngine.Language.Get(vxLocalization.Graphics_Resolution), currentRes,
                new Vector2(this.ArtProvider.BoundingGUIRectangle.X, this.ArtProvider.BoundingGUIRectangle.Y + horiz));

            horiz += 45;

            bool AddItem = true;

            foreach (DisplayMode mode in GraphicsAdapter.DefaultAdapter.SupportedDisplayModes)
            {
                AddItem = true;

                //Don't Show All Resolutions
                if (mode.Width > 599 || mode.Height > 479)
                {
                    string menuItemText = string.Format("{0} x {1}", mode.Width, mode.Height);

                    //If Good Resolution and Not being repeated, Add Item
                    if (AddItem)
                    {
                        ResolutionSettingsItem.ValueComboBox.AddItem(menuItemText);
                    }
                }
            }

            ResolutionSettingsItem.ValueComboBox.SelectionChanged += delegate(object sender, vxComboBoxSelectionChangedEventArgs e) {
                int index = 0;
                foreach (DisplayMode mode in GraphicsAdapter.DefaultAdapter.SupportedDisplayModes)
                {
                    //Don't Show All Resolutions
                    if (mode.Width > 599 || mode.Height > 479)
                    {
                        if (index == e.SelectedIndex)
                        {
                            vxEngine.Profile.Settings.Graphics.Int_Resolution_X = mode.Width;
                            vxEngine.Profile.Settings.Graphics.Int_Resolution_Y = mode.Height;
                        }

                        //Increment for next loop
                        index++;
                    }
                }
            };


            //Full Screen
            /*****************************************************************************************************/
            vxSettingsGUIItem FullScreenSettingsItem = new vxSettingsGUIItem(
                vxEngine, InternalvxGUIManager, vxEngine.Language.Get(vxLocalization.Graphics_FullScreen),
                vxEngine.Profile.Settings.Graphics.Bool_FullScreen ? vxEngine.Language.Get(vxLocalization.Graphics_FullScreen) : vxEngine.Language.Get(vxLocalization.Graphics_Windowed),
                new Vector2(this.ArtProvider.BoundingGUIRectangle.X, this.ArtProvider.BoundingGUIRectangle.Y + horiz));

            horiz += 45;
            FullScreenSettingsItem.ValueComboBox.AddItem(vxEngine.Language.Get(vxLocalization.Graphics_FullScreen));
            FullScreenSettingsItem.ValueComboBox.AddItem(vxEngine.Language.Get(vxLocalization.Graphics_Windowed));
            FullScreenSettingsItem.ValueComboBox.SelectionChanged += delegate(object sender, vxComboBoxSelectionChangedEventArgs e) {
                if (e.SelectedItem.Text == vxEngine.Language.Get(vxLocalization.Graphics_FullScreen))
                {
                    vxEngine.Profile.Settings.Graphics.Bool_FullScreen = true;
                }
                else
                {
                    vxEngine.Profile.Settings.Graphics.Bool_FullScreen = false;
                }

                vxConsole.WriteLine("Setting Full Screen to: " + vxEngine.Profile.Settings.Graphics.Bool_FullScreen);
            };


            //VSync
            /*****************************************************************************************************/
            vxSettingsGUIItem VSyncSettingsItem = new vxSettingsGUIItem(
                vxEngine, InternalvxGUIManager, "VSync",
                vxEngine.Profile.Settings.Graphics.Bool_VSync ? "On" : "Off",
                new Vector2(this.ArtProvider.BoundingGUIRectangle.X, this.ArtProvider.BoundingGUIRectangle.Y + horiz));

            horiz += 45;

            VSyncSettingsItem.ValueComboBox.AddItem("Off");
            VSyncSettingsItem.ValueComboBox.AddItem("On");
            VSyncSettingsItem.ValueComboBox.SelectionChanged += delegate(object sender, vxComboBoxSelectionChangedEventArgs e) {
                if (e.SelectedItem.Text == "On")
                {
                    vxEngine.Profile.Settings.Graphics.Bool_VSync = true;
                }
                else
                {
                    vxEngine.Profile.Settings.Graphics.Bool_VSync = false;
                }

                vxConsole.WriteLine("Setting VSync to: " + vxEngine.Profile.Settings.Graphics.Bool_VSync);
                vxEngine.Game.IsFixedTimeStep = vxEngine.Profile.Settings.Graphics.Bool_VSync;
                vxEngine.GraphicsSettingsManager.GraphicsDeviceManager.SynchronizeWithVerticalRetrace = vxEngine.Profile.Settings.Graphics.Bool_VSync;
            };


#if VIRTICES_3D
            // Texture Qaulity
            /*****************************************************************************************************/
            vxSettingsGUIItem TextureQualityItem = new vxSettingsGUIItem(
                vxEngine, InternalvxGUIManager, "Texture Quality",
                vxEngine.Profile.Settings.Graphics.TextureQuality.ToString(),
                new Vector2(this.ArtProvider.BoundingGUIRectangle.X, this.ArtProvider.BoundingGUIRectangle.Y + horiz));

            horiz += 45;

            TextureQualityItem.ValueComboBox.AddItem(vxEnumTextureQuality.Ultra.ToString());
            TextureQualityItem.ValueComboBox.AddItem(vxEnumTextureQuality.High.ToString());
            TextureQualityItem.ValueComboBox.AddItem(vxEnumTextureQuality.Medium.ToString());
            TextureQualityItem.ValueComboBox.AddItem(vxEnumTextureQuality.Low.ToString());

            TextureQualityItem.ValueComboBox.SelectionChanged += delegate(object sender, vxComboBoxSelectionChangedEventArgs e)
            {
                vxEngine.Profile.Settings.Graphics.TextureQuality = (vxEnumTextureQuality)(e.SelectedIndex);
                vxConsole.WriteLine("Setting " + TextureQualityItem.Text + " to: " + vxEngine.Profile.Settings.Graphics.TextureQuality);

                foreach (vxModel model in vxEngine.vxContentManager.vxModelCollection)
                {
                    model.SetTexturePackLevel(vxEngine.Profile.Settings.Graphics.TextureQuality);
                }
            };



            //Shadows
            /*****************************************************************************************************/
            vxSettingsGUIItem ShadowsSettingsItem = new vxSettingsGUIItem(
                vxEngine, InternalvxGUIManager, "Shadows",
                vxEngine.Profile.Settings.Graphics.ShadowQuality.ToString(),
                new Vector2(this.ArtProvider.BoundingGUIRectangle.X + MarginTwo, this.ArtProvider.BoundingGUIRectangle.Y + horizTwo));
            horizTwo += 45;

            ShadowsSettingsItem.ValueComboBox.AddItem(vxEnumQuality.None.ToString());
            ShadowsSettingsItem.ValueComboBox.AddItem(vxEnumQuality.Low.ToString());
            ShadowsSettingsItem.ValueComboBox.AddItem(vxEnumQuality.Medium.ToString());
            ShadowsSettingsItem.ValueComboBox.AddItem(vxEnumQuality.High.ToString());
            ShadowsSettingsItem.ValueComboBox.AddItem(vxEnumQuality.Ultra.ToString());

            ShadowsSettingsItem.ValueComboBox.SelectionChanged += delegate(object sender, vxComboBoxSelectionChangedEventArgs e) {
                vxEngine.Profile.Settings.Graphics.ShadowQuality = (vxEnumQuality)(e.SelectedIndex);
                vxConsole.WriteLine("Setting Shadows to: " + vxEngine.Profile.Settings.Graphics.ShadowQuality);
            };


            //Bloom
            /*****************************************************************************************************/
            vxSettingsGUIItem BloomSettingsItem = new vxSettingsGUIItem(
                vxEngine, InternalvxGUIManager, "Bloom",
                vxEngine.Profile.Settings.Graphics.Bloom.ToString(),
                new Vector2(this.ArtProvider.BoundingGUIRectangle.X + MarginTwo, this.ArtProvider.BoundingGUIRectangle.Y + horizTwo));
            horizTwo += 45;
            BloomSettingsItem.ValueComboBox.AddItem(vxEnumQuality.None.ToString());
            BloomSettingsItem.ValueComboBox.AddItem(vxEnumQuality.Low.ToString());
            BloomSettingsItem.ValueComboBox.AddItem(vxEnumQuality.Medium.ToString());
            BloomSettingsItem.ValueComboBox.AddItem(vxEnumQuality.High.ToString());
            BloomSettingsItem.ValueComboBox.AddItem(vxEnumQuality.Ultra.ToString());

            BloomSettingsItem.ValueComboBox.SelectionChanged += delegate(object sender, vxComboBoxSelectionChangedEventArgs e) {
                vxEngine.Profile.Settings.Graphics.Bloom = (vxEnumQuality)(e.SelectedIndex);
                vxConsole.WriteLine("Setting Bloom to: " + vxEngine.Profile.Settings.Graphics.Bloom);
                Console.WriteLine((int)vxEngine.Profile.Settings.Graphics.Bloom);
            };


            //Edge Detect
            /*****************************************************************************************************/
            vxSettingsGUIItem EdgeDetectSettingsItem = new vxSettingsGUIItem(
                vxEngine, InternalvxGUIManager, "Edge Detect",
                vxEngine.Profile.Settings.Graphics.Bool_DoEdgeDetection ? "On" : "Off",
                new Vector2(this.ArtProvider.BoundingGUIRectangle.X + MarginTwo, this.ArtProvider.BoundingGUIRectangle.Y + horizTwo));
            horizTwo += 45;

            EdgeDetectSettingsItem.ValueComboBox.AddItem("Off");
            EdgeDetectSettingsItem.ValueComboBox.AddItem("On");
            EdgeDetectSettingsItem.ValueComboBox.SelectionChanged += delegate(object sender, vxComboBoxSelectionChangedEventArgs e) {
                if (e.SelectedItem.Text == "On")
                {
                    vxEngine.Profile.Settings.Graphics.Bool_DoEdgeDetection = true;
                }
                else
                {
                    vxEngine.Profile.Settings.Graphics.Bool_DoEdgeDetection = false;
                }

                vxConsole.WriteLine("Setting Edge Detect to: " + vxEngine.Profile.Settings.Graphics.Bool_DoEdgeDetection);
            };


            //Depth of Field
            /*****************************************************************************************************/
            vxSettingsGUIItem DOFSettingsItem = new vxSettingsGUIItem(
                vxEngine, InternalvxGUIManager, "Depth of Field",
                vxEngine.Profile.Settings.Graphics.DepthOfField.ToString(),
                new Vector2(this.ArtProvider.BoundingGUIRectangle.X + MarginTwo, this.ArtProvider.BoundingGUIRectangle.Y + horizTwo));
            horizTwo += 45;

            DOFSettingsItem.ValueComboBox.AddItem(vxEnumQuality.None.ToString());
            DOFSettingsItem.ValueComboBox.AddItem(vxEnumQuality.Low.ToString());
            DOFSettingsItem.ValueComboBox.AddItem(vxEnumQuality.Medium.ToString());
            DOFSettingsItem.ValueComboBox.AddItem(vxEnumQuality.High.ToString());
            DOFSettingsItem.ValueComboBox.AddItem(vxEnumQuality.Ultra.ToString());

            DOFSettingsItem.ValueComboBox.SelectionChanged += delegate(object sender, vxComboBoxSelectionChangedEventArgs e) {
                vxEngine.Profile.Settings.Graphics.DepthOfField = (vxEnumQuality)(e.SelectedIndex);
                vxConsole.WriteLine("Setting DepthOfField to: " + vxEngine.Profile.Settings.Graphics.DepthOfField);
            };


            //Crepuscular Rays
            /*****************************************************************************************************/
            vxSettingsGUIItem GodRaySettingsItem = new vxSettingsGUIItem(
                vxEngine, InternalvxGUIManager, "Crepuscular Rays",
                vxEngine.Profile.Settings.Graphics.GodRays.ToString(),
                new Vector2(this.ArtProvider.BoundingGUIRectangle.X + MarginTwo, this.ArtProvider.BoundingGUIRectangle.Y + horizTwo));
            horizTwo += 45;

            GodRaySettingsItem.ValueComboBox.AddItem(vxEnumQuality.None.ToString());
            GodRaySettingsItem.ValueComboBox.AddItem(vxEnumQuality.Low.ToString());
            GodRaySettingsItem.ValueComboBox.AddItem(vxEnumQuality.Medium.ToString());
            GodRaySettingsItem.ValueComboBox.AddItem(vxEnumQuality.High.ToString());
            GodRaySettingsItem.ValueComboBox.AddItem(vxEnumQuality.Ultra.ToString());

            GodRaySettingsItem.ValueComboBox.SelectionChanged += delegate(object sender, vxComboBoxSelectionChangedEventArgs e) {
                vxEngine.Profile.Settings.Graphics.GodRays = (vxEnumQuality)(e.SelectedIndex);
                vxConsole.WriteLine("Setting GodRays to: " + vxEngine.Profile.Settings.Graphics.GodRays);
            };


            //SSAO
            /*****************************************************************************************************/
            vxSettingsGUIItem SSAOSettingsItem = new vxSettingsGUIItem(
                vxEngine, InternalvxGUIManager, "SSAO",
                vxEngine.Profile.Settings.Graphics.SSAO.ToString(),
                new Vector2(this.ArtProvider.BoundingGUIRectangle.X + MarginTwo, this.ArtProvider.BoundingGUIRectangle.Y + horizTwo));
            horizTwo += 45;

            SSAOSettingsItem.ValueComboBox.AddItem(vxEnumQuality.None.ToString());
            SSAOSettingsItem.ValueComboBox.AddItem(vxEnumQuality.Low.ToString());
            SSAOSettingsItem.ValueComboBox.AddItem(vxEnumQuality.Medium.ToString());
            SSAOSettingsItem.ValueComboBox.AddItem(vxEnumQuality.High.ToString());
            SSAOSettingsItem.ValueComboBox.AddItem(vxEnumQuality.Ultra.ToString());

            SSAOSettingsItem.ValueComboBox.SelectionChanged += delegate(object sender, vxComboBoxSelectionChangedEventArgs e) {
                vxEngine.Profile.Settings.Graphics.SSAO = (vxEnumQuality)(e.SelectedIndex);
                vxConsole.WriteLine("Setting SSAO to: " + vxEngine.Profile.Settings.Graphics.SSAO);
            };
                        #endif


            Btn_Apply.Clicked += new EventHandler <vxGuiItemClickEventArgs>(Btn_Apply_Clicked);
            Btn_Ok.Clicked    += new EventHandler <vxGuiItemClickEventArgs>(Btn_Ok_Clicked);
        }