void EventSave(MenuObject obj) { List <MenuObject> objs = new List <MenuObject> (); MenuTextEntry nameMenuTextEntry = new MenuTextEntry(42, Color.Black, name); nameMenuTextEntry.escapeHandler += EventNameEscape; nameMenuTextEntry.selectedHandler += EventNameSave; objs.Add(nameMenuTextEntry); nameMenu = new Menu(objs, MenuLayout.Vertical, 10, Constants.Constants.HEIGHT / 2); //nameMenu.selectChangeTime = 0.5f; }
void EventNameSave(MenuObject obj) { MenuTextEntry tE = (MenuTextEntry)obj; name = tE.text; MenuText t = (MenuText)menu.objects [menu.objects.Count - 1]; t.text = name; t.colourSelected = Color.Green; t.colourNotSelected = Color.Green; t.RenderText(); menu.GenerateWidth(); GenerateMenuBackground(); menu.lastSelectChange = -0.2f; nameMenu = null; map.ToXML(name, vecPlayer, enemies); }
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); }