private void MusicSelector_ValueChanged(object sender, SpinSelector e) { SpinSelector selector = sender as SpinSelector; if (selector == null) { return; } PreferencesManager.Set(PrefNames.MusicEnabled, selector.SelectedIndex); }
private void FsaaSelector_ValueChanged(object sender, SpinSelector e) { SpinSelector selector = sender as SpinSelector; if (selector == null) { return; } int newFSAA = (int)(Math.Pow(2, selector.SelectedIndex)); WindowManager.SetFSAALevel(newFSAA); }
private void ScenarioVariation_ValueChanged(object sender, SpinSelector e) { if (e.SelectedIndex == 0) { StartupInfo.SelectedVariation = null; VariationText.SetText(MenuRes.NoVariationDescription); } else { StartupInfo.SelectedVariation = StartupInfo.SelectedScenario.Variations[e.SelectedIndex - 1]; VariationText.SetText(StartupInfo.SelectedVariation.Description); } }
private void WindowSizeSelector_ValueChanged(object sender, SpinSelector e) { SpinSelector selector = sender as SpinSelector; if (selector == null) { return; } switch (selector.SelectedIndex) { default: WindowManager.SetNormal(); break; case 1: WindowManager.SetMaximized(); break; case 2: WindowManager.SetFullscreen(); break; } }
protected void SetupOptions() { // lsefside setup RelativeRect rect = new RelativeRect(RelativeLoc.XLeftBorder + RelativeLoc.BorderOffset, RelativeLoc.YUpperBorder + RelativeLoc.BorderOffset, ButtonWidth, RelativeSize.ThreeQuarterHeight, OriginLocation.UpperLeft); Columns[0] = SetupCommonColumn(rect); // graphics header Columns[0].AddChild(new Header(new RelativeRect(), MenuRes.Graphics)); // fullscreen toggle SpinSelector windowSizeSelector = new SpinSelector(new RelativeRect(), MenuRes.FullscreenModes.Split(";".ToCharArray()), 0); windowSizeSelector.ValueChanged += WindowSizeSelector_ValueChanged; Columns[0].AddChild(windowSizeSelector); // anti-alias selector int aa = WindowManager.GetWindowInfo(WindowManager.MainWindowID).AntiAliasingFactor; if (aa < 0) { aa = 0; } if (aa > 8) { aa = 8; } if (aa != 0) { aa = (int)Math.Log(aa, 2); } SpinSelector fsaaSelector = new SpinSelector(new RelativeRect(), MenuRes.FSAA.Split(";".ToCharArray()), aa); fsaaSelector.ValueChanged += FsaaSelector_ValueChanged; Columns[0].AddChild(fsaaSelector); // sound options header Columns[0].AddChild(new UIBlank(new RelativeRect())); Columns[0].AddChild(new Header(new RelativeRect(), MenuRes.SoundOptions)); // sound volume int volume = PreferencesManager.GetValueI(PrefNames.SoundVolume, 50); var soundSlider = new HSlider(new RelativeRect(), MenuRes.EffectsVolume, volume); soundSlider.ValueChanged += SoundSlider_ValueChanged; Columns[0].AddChild(soundSlider); // music volume var musicSlider = new HSlider(new RelativeRect(), MenuRes.MusicVolume, PreferencesManager.GetValueI(PrefNames.MusicVolume, 50)); musicSlider.ValueChanged += MusicSlider_ValueChanged; Columns[0].AddChild(musicSlider); // Music playback header Columns[0].AddChild(new UIBlank(new RelativeRect())); Columns[0].AddChild(new Header(new RelativeRect(), MenuRes.MusicPlayback)); // music mode selector SpinSelector musicSelector = new SpinSelector(new RelativeRect(), MenuRes.MusicPlaybackModes.Split(";".ToCharArray()), PreferencesManager.GetValueI(PrefNames.MusicEnabled, 2)); musicSelector.ValueChanged += MusicSelector_ValueChanged; Columns[0].AddChild(musicSelector); AddElement(Columns[0], 2); }
protected int SetupScenarioList(int layerIndex) { // right side group RelativeRect rect = new RelativeRect(RelativeLoc.XRightBorder + RelativeLoc.BorderOffset, RelativeLoc.YUpper + RelativeLoc.BorderOffset, RelativeSize.TwoColumnWidth, RelativeSize.SevenEightsHeight, OriginLocation.UpperRight); GridLayoutGroup scenarioGrid = new GridLayoutGroup(rect, 15, 2); Columns[1] = scenarioGrid; scenarioGrid.MaxChildSize = MenuCommon.ButtonHeight.Paramater; scenarioGrid.SetColSpan(0, 1); scenarioGrid.SetColSpan(1, 6); scenarioGrid.SetColSpan(7, 4); scenarioGrid.SetColSpan(12, 3); // Scenario header scenarioGrid.AddChild(new Header(new RelativeRect(), MenuRes.Scenario)); ButtonScrollList scenarioList = new ButtonScrollList(RelativeRect.Full); scenarioList.DesiredRows = 6; foreach (var scenario in Scenarios.GetScenarioList()) { scenarioList.AddItem(scenario.Name, scenario); } scenarioList.SelectedIndexChanged += ScenarioList_SelectedIndexChanged; scenarioList.FillMode = UIFillModes.Stretch4Quad; scenarioGrid.AddChild(scenarioList); SecenarioText = new TextArea(RelativeRect.Full, string.Empty, MenuManager.MainFont, ThemeManager.GetThemeAsset("ui/TextEntryBackground.png")); SecenarioText.DefaultMaterial.Color = Color.Gray; SecenarioText.DesiredRows = 8; SecenarioText.BorderPadding = 4; SecenarioText.MiniumElementHeight = 20; scenarioGrid.AddChild(SecenarioText); // sensor scan complexity // get data from selected scenario scenarioGrid.AddChild(MakeGridLabel(MenuRes.Variation)); VariationList = new SpinSelector(new RelativeRect(), MenuRes.DefaultVariation.Split(";".ToCharArray()), 0); VariationList.ValueChanged += ScenarioVariation_ValueChanged; scenarioGrid.AddChild(VariationList); // replace with variation info VariationText = new TextArea(RelativeRect.Full, string.Empty, MenuManager.MainFont, ThemeManager.GetThemeAsset("ui/TextEntryBackground.png")); VariationText.DefaultMaterial.Color = Color.Gray; VariationText.DesiredRows = 6; VariationText.BorderPadding = 4; VariationText.MiniumElementHeight = 20; scenarioGrid.AddChild(VariationText); AddElement(Columns[1], layerIndex + 1); scenarioList.SetSelectedIndex(0); return(layerIndex + 1); }
private void Scan_ValueChanged(object sender, SpinSelector e) { StartupInfo.Scans = (ServerStartupInfo.ScanSettings)e.SelectedIndex; }
private void RadarRange_ValueChanged(object sender, SpinSelector e) { StartupInfo.SensorRange = ((e.SelectedIndex + 2) * 5); }
private void FTLType_ValueChanged(object sender, SpinSelector e) { StartupInfo.FTL = (ServerStartupInfo.FTLSettings)e.SelectedIndex; }
private void ServerVis_ValueChanged(object sender, SpinSelector e) { StartupInfo.Public = e.SelectedIndex != 0; }
protected int SetupServerConfig(int layerIndex) { RelativeRect rect = new RelativeRect(RelativeLoc.XLeftBorder + RelativeLoc.BorderOffset, RelativeLoc.YUpper + RelativeLoc.BorderOffset, RelativeSize.TwoColumnWidth, RelativeSize.SevenEightsHeight, OriginLocation.UpperLeft); GridLayoutGroup serverSetupGrid = new GridLayoutGroup(rect, 15, 2); Columns[0] = serverSetupGrid; serverSetupGrid.MaxChildSize = MenuCommon.ButtonHeight.Paramater; serverSetupGrid.SetColSpan(0); serverSetupGrid.SetColSpan(6); serverSetupGrid.SetColSpan(9); serverSetupGrid.SetColSpan(11); // server config header serverSetupGrid.AddChild(new Header(new RelativeRect(), MenuRes.ServerConfiguration)); // name serverSetupGrid.AddChild(MakeGridLabel(MenuRes.ServerName)); var te = new MenuTextEntry(RelativeRect.FullLeft, StartupInfo.Name); te.TextChanged += ServerName_TextChanged; serverSetupGrid.AddChild(te); // password serverSetupGrid.AddChild(MakeGridLabel(MenuRes.ServerPassword)); te = new MenuTextEntry(RelativeRect.FullLeft, StartupInfo.Password); te.TextChanged += Password_TextChanged; serverSetupGrid.AddChild(te); // ip address serverSetupGrid.AddChild(MakeGridLabel(MenuRes.ServerLanIP)); var ip = MakeGridLabel(Core.GetLocalIPString()); ip.Rect.AnchorLocation = OriginLocation.MiddleLeft; serverSetupGrid.AddChild(ip); serverSetupGrid.AddChild(MakeGridLabel(MenuRes.ServerWANIP)); string wan = Core.GetWANIPString(); if (PreferencesManager.GetValueB(PrefNames.PublicHostName)) { wan = PreferencesManager.Get(PrefNames.PublicHostName); } var wanIP = MakeGridLabel(wan); wanIP.Rect.AnchorLocation = OriginLocation.MiddleLeft; serverSetupGrid.AddChild(wanIP); // public visibility (should this be a checkbox?) serverSetupGrid.AddChild(MakeGridLabel(MenuRes.ServerVis)); SpinSelector selector = new SpinSelector(new RelativeRect(), MenuRes.ServerVisModes.Split(";".ToCharArray()), StartupInfo.Public ? 1 : 0); selector.ValueChanged += ServerVis_ValueChanged; serverSetupGrid.AddChild(selector); // ship options section serverSetupGrid.AddChild(new Header(new RelativeRect(), MenuRes.PlayerShipOptions)); // FTL Drive type serverSetupGrid.AddChild(MakeGridLabel(MenuRes.FTLType)); selector = new SpinSelector(new RelativeRect(), MenuRes.FTLTypes.Split(";".ToCharArray()), (int)StartupInfo.FTL); selector.ValueChanged += FTLType_ValueChanged; serverSetupGrid.AddChild(selector); // sensor range serverSetupGrid.AddChild(MakeGridLabel(MenuRes.RadarRange)); List <string> radarRanges = new List <string>(); for (int i = 10; i <= 50; i += 5) { radarRanges.Add(i.ToString() + "u"); } selector = new SpinSelector(new RelativeRect(), radarRanges, ((int)StartupInfo.SensorRange / 5) - 2); selector.ValueChanged += RadarRange_ValueChanged; serverSetupGrid.AddChild(selector); // main screen display options (why are these not dynamic?) serverSetupGrid.AddChild(new Header(new RelativeRect(), MenuRes.MainScreenOptions)); // tactical radar button var cb = new MenuCheckButton(RelativeRect.Full, MenuRes.TacticalRadar); cb.ButtonCheckChanged += TacRadar_CheckChanged; if (StartupInfo.TacticalRadarMSD) { cb.Check(); } serverSetupGrid.AddChild(cb); // long range radar button cb = new MenuCheckButton(RelativeRect.Full, MenuRes.LongRangeRadar); cb.ButtonCheckChanged += LRRadar_CheckChanged; if (StartupInfo.LongRangeRadarMSD) { cb.Check(); } serverSetupGrid.AddChild(cb); // game rules section serverSetupGrid.AddChild(new Header(new RelativeRect(), MenuRes.GameRules)); // sensor scan complexity serverSetupGrid.AddChild(MakeGridLabel(MenuRes.ScanComplexity)); selector = new SpinSelector(new RelativeRect(), MenuRes.ScanTypes.Split(";".ToCharArray()), (int)StartupInfo.Scans); selector.ValueChanged += Scan_ValueChanged; serverSetupGrid.AddChild(selector); // use weapon frequencies cb = new MenuCheckButton(RelativeRect.Full, MenuRes.WeaponFrequencies); cb.ButtonCheckChanged += WeaponFreq_CheckChanged; if (StartupInfo.UseWeaponFrequencies) { cb.Check(); } serverSetupGrid.AddChild(cb); // use individual system damage cb = new MenuCheckButton(RelativeRect.Full, MenuRes.PerSystemDamage); cb.ButtonCheckChanged += SystemDamage_CheckChanged; if (StartupInfo.UseSystemDamage) { cb.Check(); } serverSetupGrid.AddChild(cb); // add the left side group to the main layout AddElement(Columns[0], layerIndex); return(layerIndex + 1); }