Пример #1
0
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();
}
Пример #2
0
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();
}