SettingsMenuScene::SettingsMenuScene(Display::Display &display, GameDirector &director) : SUPER(display, director, _("Settings"), "Settings") { using Alignment = Display::UiViewModel::Alignment; SupportCancelAction(_("Back")); auto root = GetContentRoot(); menuGrid = root->NewChild<Display::FlexGrid>(display); menuGrid->SetPos(640, 140); menuGrid->SetAlignment(Alignment::N); menuGrid->GetColumnDefault(0).SetFill(true); size_t row = 0; menuGrid->At(row++, 0).NewChild<MenuItemButton<AudioSettingsScene>>( display, director, GetTitle(), _("Profile"), false); menuGrid->At(row++, 0).NewChild<MenuItemButton<AudioSettingsScene>>( display, director, GetTitle(), _("Audio")); menuGrid->At(row++, 0).NewChild<MenuItemButton<VideoSettingsScene>>( display, director, GetTitle(), _("Video")); menuGrid->At(row++, 0).NewChild<MenuItemButton<AudioSettingsScene>>( display, director, GetTitle(), _("Network"), false); menuGrid->At(row++, 0).NewChild<MenuItemButton<AudioSettingsScene>>( display, director, GetTitle(), _("Advanced"), false); menuGrid->RequestFocus(); }
SettingsMenuScene::SettingsMenuScene(Display::Display &display, GameDirector &director) : SUPER(display, director, _("Settings"), "Settings") { using Alignment = Display::UiViewModel::Alignment; SupportCancelAction(_("Back")); auto root = GetContentRoot(); menuGrid = root->NewChild<Display::FlexGrid>(display); menuGrid->SetPos(640, 140); menuGrid->SetAlignment(Alignment::N); menuGrid->GetColumnDefault(0).SetFill(true); // If there's no active player piloting the UI, then only enable // settings which are global to everybody. bool hasProfile = false; if (auto pilot = director.ShareUiPilot()) { hasProfile = !!pilot->ShareProfile(); } size_t row = 0; menuGrid->At(row++, 0).NewChild<MenuItemButton<ProfileEditScene>>( *this, _("Profile"), hasProfile); menuGrid->At(row++, 0).NewChild<MenuItemButton<LocaleSettingsScene>>( *this, _("Language and Units")); menuGrid->At(row++, 0).NewChild<MenuItemButton<AudioSettingsScene>>( *this, _("Audio")); menuGrid->At(row++, 0).NewChild<MenuItemButton<VideoSettingsScene>>( *this, _("Video")); menuGrid->At(row++, 0).NewChild<MenuItemButton<AudioSettingsScene>>( *this, _("Network"), false); menuGrid->At(row++, 0).NewChild<MenuItemButton<AudioSettingsScene>>( *this, _("Advanced"), false); menuGrid->RequestFocus(); }