Ejemplo n.º 1
0
/*------------------------------------------------------------------------------------
----------------------------setup-----------------------------------------------------
------------------------------------------------------------------------------------*/
void MainMenu::setup(ResourceManager& fresourceManager)							//setup
{

	//makes a textbox

	MenuElement* textBoxA;
	textBoxA = new SingleTextBox(sf::Vector2f(0, 0), fresourceManager.getFontPointerByName("DefaultFont"), "Welcome to the Grand Walrus Menu!", 50, 300, sf::Color::Red);





	//makes a BasicButton

	MenuElement* greenButtonA;
	greenButtonA = new BasicButton(		sf::Vector2f(0, -150), fresourceManager.getResourceSetByName("GreenButtonRG"),
										"Test1", sf::Color::White, sf::Vector2f(200, 100), 50	);


	



	//makes a BasicButton

	MenuElement* greenButtonB;
	greenButtonB = new BasicButton(	sf::Vector2f(0, 150), fresourceManager.getResourceSetByName("GreenButtonRG"),
									"Test2", sf::Color::White, sf::Vector2f(200, 100), 50	);

	//gives the basic button callback functions

	BasicButton* p_greenButtonB = static_cast<BasicButton*>(greenButtonB);		//cast the menuElement as a basicButton


	p_greenButtonB->addFunctionToDoOnButtonState(openSecondMenu, this, 12);		//add the openSecondMenu to the button on click

	p_greenButtonB->addFunctionToDoOnButtonState(closeNormalMenu, this, 12);	//add the closeNormalMenu to the button on click





	//same thing, essentially

	MenuElement* greenButtonC;

	greenButtonC = new BasicButton(	sf::Vector2f(0, -150), fresourceManager.getResourceSetByName("GreenButtonRG"),
									"Test3", sf::Color::White, sf::Vector2f(200, 100), 50	);


	BasicButton* p_greenButtonC = static_cast<BasicButton*>(greenButtonC);


	p_greenButtonC->addFunctionToDoOnButtonState(openNormalMenu, this, 12);

	p_greenButtonC->addFunctionToDoOnButtonState(closeSecondMenu, this, 12);

	




	//same thing but with a slider

	MenuElement* testSlider;

	testSlider = new Slider(	fresourceManager.getTexturePointerByName("SliderBackground"), fresourceManager.getTexturePointerByName("SliderNotch"),
								fresourceManager.getTexturePointerByName("SliderButton"), sf::Vector2f(200, 50), sf::Vector2f(150, 20), sf::Vector2f(20, 40),
								sf::Vector2f(0, 150), sliderVariable, 0, 100, 80); 




	//create a menu background

	MenuElement* walrusBG;
	walrusBG = new MenuBackground(	sf::Vector2f(0, 0), fresourceManager.getTexturePointerByName("WalrusBackground"),
									sf::Vector2f(800, 600)	);


	//again...

	MenuElement* giraffeBG;
	giraffeBG = new MenuBackground(	sf::Vector2f(0, 0), fresourceManager.getTexturePointerByName("GiraffeBackground"),
									sf::Vector2f(800, 600));
	
	

	//make two menus

	Menu defaultMenu;

	Menu secondMenu;


	//add the elements to one menu (order matters now)

	defaultMenu.addMenuElement(walrusBG, "WalrusBackground");
	defaultMenu.addMenuElement(greenButtonA, "TopGreenButton");
	defaultMenu.addMenuElement(greenButtonB, "BottomGreenButton");
	defaultMenu.addMenuElement(textBoxA, "TextBoxA");


	//add the elements to the other menu (order matters now)

	secondMenu.addMenuElement(giraffeBG, "GiraffeBackground");
	secondMenu.addMenuElement(greenButtonC, "TopGreenButtonS");
	secondMenu.addMenuElement(testSlider, "TestSlider");
	


	// add the menus to the menuManager (order matters)

	MainMenuManager.addMenu(defaultMenu, "NormalMenu", sf::Vector2f(400, 300));
	MainMenuManager.addMenu(secondMenu, "SecondMenu", sf::Vector2f(400, 300));
	MainMenuManager.getMenuPointerByName("SecondMenu")->deactivate();



	//delete greenButtonA;
	//delete greenButtonB;
	//delete walrusBG;

}