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); }
/// <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); }