public OptionsMenu() : base(Handlers, DialogPositioning.Center) { StringId S(SystemTextId id) => new StringId(AssetType.SystemText, 0, (int)id); var elements = new List <IUiElement> { new Padding(156, 2), new Label(S(SystemTextId.Options_MusicVolume)), new Slider(MusicVolumeKey, () => _musicVolume, x => _musicVolume = x, 0, 127), new Padding(0, 2), new Label(S(SystemTextId.Options_FXVolume)), new Slider(FxVolumeKey, () => _fxVolume, x => _fxVolume = x, 0, 127), new Padding(0, 2), new Label(S(SystemTextId.Options_3DWindowSize)), new Slider(WindowSizeKey, () => _windowSize3d, x => _windowSize3d = x, 0, 100), new Padding(0, 2), new Label(S(SystemTextId.Options_CombatDetailLevel)), new Slider(CombatDetailKey, () => _combatDetailLevel, x => _combatDetailLevel = x, 1, 5), new Padding(0, 2), new Label(S(SystemTextId.Options_CombatTextDelay)), new Slider(CombatDelayKey, () => _combatDelay, x => _combatDelay = x, 1, 50), new Padding(0, 2), new Button(DoneKey, S(SystemTextId.MsgBox_OK)), new Padding(0, 2), }; var stack = new VerticalStack(elements); Children.Add(new DialogFrame(stack)); }
public YesNoMessageBox(StringId stringId) : base(Handlers, DialogPositioning.Center) { var elements = new VerticalStack( new Padding(0, 5), new FixedSizePanel(231, 30, new Text(stringId)), new Padding(0, 5), new HorizontalStack( new Padding(11, 0), new Button(YesButtonKey, S(SystemTextId.MsgBox_Yes)) { DoubleFrame = true }, new Padding(8, 0), new Button(NoButtonKey, S(SystemTextId.MsgBox_No)) { DoubleFrame = true }, new Padding(10, 0) ), new Padding(0, 5) ); var horizontalPad = new HorizontalStack( new Padding(6, 0), elements, new Padding(6, 0) ); Children.Add(new DialogFrame(horizontalPad)); }
public override void Subscribed() { foreach (var child in Children) { child.Detach(); } Children.Clear(); var state = Resolve <IGameState>(); var elements = new List <IUiElement> { new Padding(0, 2), new HorizontalStack(new Padding(5, 0), new Header(S(SystemTextId.MainMenu_MainMenu)), new Padding(5, 0)), new Divider(CommonColor.Yellow3), new Padding(0, 2), }; if (state.Loaded) { elements.AddRange(new IUiElement[] { new Button(ContinueKey, S(SystemTextId.MainMenu_ContinueGame)), new Padding(0, 4), }); } elements.AddRange(new IUiElement[] { new Button(NewGameKey, S(SystemTextId.MainMenu_NewGame)), new Button(LoadGameKey, S(SystemTextId.MainMenu_LoadGame)), }); if (state.Loaded) { elements.Add(new Button(SaveGameKey, S(SystemTextId.MainMenu_SaveGame))); } elements.AddRange(new IUiElement[] { new Padding(0, 4), new Button(OptionsKey, S(SystemTextId.MainMenu_Options)), new Button(ViewIntroKey, S(SystemTextId.MainMenu_ViewIntro)), new Button(CreditsKey, S(SystemTextId.MainMenu_Credits)), new Padding(0, 3), new Button(QuitGameKey, S(SystemTextId.MainMenu_QuitGame)), new Padding(0, 2), }); var stack = new VerticalStack(elements); Children.Add(new DialogFrame(stack)); foreach (var child in Children) { child.Attach(Exchange); } base.Subscribed(); }