Ejemplo n.º 1
0
void Options::buildMenu()
	{
	MyOGL::OutlineFonts& fonts = win.extensions().outlineFonts();
	menu.addItem(new PlayerNameItem(win, playerName));
	MenuItem* last;		//pointer to the last added item (only if it will have sub menu)
	last = menu.addItem(new MenuItem(fonts, langData["optionsMenu"]["cuboidSize"]));
	for(int size = Difficulty::SIZE_MIN; size <= Difficulty::SIZE_MAXX; ++size)
		last->addSubItem(new MenuItem(fonts, lexical_cast<string>(size)));

	last = menu.addItem(new MenuItem(fonts, langData["optionsMenu"]["cuboidDepth"]));
	for(int depth = Difficulty::DEPTH_MIN; depth <= Difficulty::DEPTH_MAX; depth += 2)
		last->addSubItem(new MenuItem(fonts, lexical_cast<std::string>(depth)));

	last = menu.addItem(new MenuItem(fonts, langData["optionsMenu"]["blocksSet"]));
	for(int bset = 0; bset < 3; ++bset)
		last->addSubItem(new MenuItem(fonts, Difficulty::blocksSetStr(bset)));

	menu.addItem(new VideoItem(win));		//sub items are created in constructor automatically
	menu.addItem(new LanguageItem(win.extensions(), user["language"], needRestart));
	menu.addItem(new MenuItem(fonts, langData["optionsMenu"]["keyboard"]));

	last = menu.addItem(new MenuItem(fonts, langData["optionsMenu"]["sounds"]));
	last->addSubItem(new MenuItem(fonts, langData["sounds"]["on"]));
	last->addSubItem(new MenuItem(fonts, langData["sounds"]["off"]));
	}