void MenuSelection::clickArrow(char c){ if (c == 'l') { if (nbChoice == 0) nbChoice = 2; else nbChoice--; } else { if (nbChoice == 2) nbChoice = 0; else nbChoice++; } if (nbChoice==0) { updateShowSelect("archer"); selectClass(a); } if (nbChoice == 1) { updateShowSelect("knight"); selectClass(k); } if (nbChoice == 2){ updateShowSelect("mage"); selectClass(m); } }
void tvDialog::insertObject( tvObject * ) { #ifndef ULRICH TNSCollection *classes = new TNSCollection( 2, 1 ); classes->insert( "Einfaches Feld" ); classes->insert( "Doppeltes Feld" ); tvObject *obj; switch( selectClass( classes ) ) { case 1: obj = new tvSingleField( this ); break; case 2: obj = new tvDoubleField( this ); break; default: obj = 0; break; } if( obj ) tvFolder::insertObject( obj ); delete classes; #else tvFolder::insertObject( new tvMCReaderField( this ) ); #endif }
MenuSelection::MenuSelection() : Panel() { Panel* selection_top = new Panel(1200, 200); this->add(selection_top, (Alignment::TOP | Alignment::LEFT)); selection_top->setBgColor(Color::WHITE); selection_top->setBackground((*ServiceLocator::getTextureManager())["menuSelectTopBG"]); Label* j1 = new Label(150, 50, "Joueur 1 :", (*ServiceLocator::getFontManager())["LifeCraft"]); selection_top->add(j1); j1->setPositionX(100); j1->setPositionY(50); Label* j2 = new Label(150, 50, "Joueur 2 :", (*ServiceLocator::getFontManager())["LifeCraft"]); selection_top->add(j2); j2->setPositionX(1000); j2->setPositionY(50); choiceJ1 = new Button(75, 75); selection_top->add(choiceJ1); choiceJ1->setHover(false); choiceJ1->setPosition(110, 100); /*Texture t = (*ServiceLocator::getTextureManager())["obstacle_0"]; choiceJ1->setBackground(t); choiceJ1->setHoverBackground(t);*/ nameJ1 = new Label(150, 50, "J1", (*ServiceLocator::getFontManager())["LifeCraft"]); selection_top->add(nameJ1); nameJ1->setPositionX(325); nameJ1->setPositionY(110); choiceJ2 = new Button(75, 75); selection_top->add(choiceJ2); choiceJ2->setHover(false); choiceJ2->setPosition(1015, 100); /*Texture t2 = (*ServiceLocator::getTextureManager())["obstacle_1"]; choiceJ2->setBackground(t2); choiceJ2->setHoverBackground(t2);*/ nameJ2 = new Label(150, 50, "J2", (*ServiceLocator::getFontManager())["LifeCraft"]); selection_top->add(nameJ2); nameJ2->setPositionX(800); nameJ2->setPositionY(110); button_selec_1 = new Button(150, 50); selection_top->add(button_selec_1); button_selec_1->setText("Pret"); button_selec_1->setTextAlignment(Alignment::CENTERX | Alignment::CENTERY); button_selec_1->setPositionY(100); button_selec_1->setPositionX(525); button_selec_1->setBackground((*ServiceLocator::getTextureManager())["BackgroundReady"]); button_selec_1->setHoverBackground((*ServiceLocator::getTextureManager())["BackgroundReadyHover"]); //button_selec_1->setBgColor(Color::RED); button_selec_1->Clickable::setCallback(new EventCallback([=](Event*) {ready(); })); Panel* selection_bottom = new Panel(1200, 700); this->add(selection_bottom); Texture selBottom = (*ServiceLocator::getTextureManager())["menuSelectBG"]; selection_bottom->setBackground(selBottom); selection_bottom->setBgColor(Color::BLUE); selection_bottom->setPosition(0, 200); Button* flecheLeft = new Button(50, 50); selection_bottom->add(flecheLeft); flecheLeft->setPosition(20, 270); flecheLeft->Clickable::setCallback(new EventCallback([=](Event*) {clickArrow('l'); })); flecheLeft->setHoverBackground((*ServiceLocator::getTextureManager())["flecheG"]); flecheLeft->setBackground((*ServiceLocator::getTextureManager())["flecheG"]); Button* flecheRight = flecheLeft->clone(); selection_bottom->add(flecheRight); flecheRight->setPosition(500, 270); flecheRight->Clickable::setCallback(new EventCallback([=](Event*) {clickArrow('r'); })); flecheRight->setHoverBackground((*ServiceLocator::getTextureManager())["flecheD"]); flecheRight->setBackground((*ServiceLocator::getTextureManager())["flecheD"]); showSelectChar = new Button(300, 300); selection_bottom->add(showSelectChar); showSelectChar->setPosition(150, 200); //showSelectChar->setHover(false); //showSelectChar->Clickable::setCallback(new EventCallback([=](Event*) {selectClass(a); })); showSelectChar->setHoverBackground((*ServiceLocator::getTextureManager())["icon_archer"]); showSelectChar->setBackground((*ServiceLocator::getTextureManager())["icon_archer"]); /* Button* choice1 = new Button(125, 125); selection_bottom->add(choice1); choice1->setPosition(200, 100); choice1->Clickable::setCallback(new EventCallback([=](Event*) {selectClass(a); })); choice1->setHoverBackground((*ServiceLocator::getTextureManager())["icon_archer"]); choice1->setBackground((*ServiceLocator::getTextureManager())["icon_archer"]); Button* choice2 = choice1->clone(); selection_bottom->add(choice2); choice2->setPosition(200 - 62, 100 + 125); choice2->Clickable::setCallback(new EventCallback([=](Event*) {selectClass(k); })); choice2->setBackground((*ServiceLocator::getTextureManager())["icon_knight"]); choice2->setHoverBackground((*ServiceLocator::getTextureManager())["icon_knight"]); Button* choice3 = choice1->clone(); selection_bottom->add(choice3); choice3->setPosition(200 + 63, 100 + 125); choice3->Clickable::setCallback(new EventCallback([=](Event*) {selectClass(m); })); choice3->setBackground((*ServiceLocator::getTextureManager())["icon_mage"]); choice3->setHoverBackground((*ServiceLocator::getTextureManager())["icon_mage"]);*/ Panel* spellInfos = new Panel(500, 500); this->add(spellInfos); spellInfos->setBackground((*ServiceLocator::getTextureManager())["parchemin"]); int daX = 30; //décalage en X pour les labels (test de background texture) int daY = 30;//décalage en Y pour les labels (test de background texture) spellInfos->setPosition(600, 250); nomClasse = new Label(150, 25, "Nom Classe", (*ServiceLocator::getFontManager())["LifeCraft"]); spellInfos->add(nomClasse); nomClasse->setPosition(25 + daX, 10 + daY); descrClasse = new Label(400, 35, "Description de la classe : bla bla bla bla bla bla bla", (*ServiceLocator::getFontManager())["LifeCraft"]); //spellInfos->add(descrClasse); descrClasse->setPosition(15 + daX, 35 + daY); descrClasse->setTextSize(22); spell1 = new Button(75, 75); spellInfos->add(spell1); spell1->setPosition(50 + daX, 100 + daY); spell1->Clickable::setCallback(new EventCallback([=](Event*) {selectSpell(0); })); spell2 = new Button(75, 75); spellInfos->add(spell2); spell2->setPosition(50 + 100 + daX, 100 + daY); spell2->Clickable::setCallback(new EventCallback([=](Event*) {selectSpell(1); })); spell3 = new Button(75, 75); spellInfos->add(spell3); spell3->setPosition(50 + 100 + 100 + daX, 100 + daY); spell3->Clickable::setCallback(new EventCallback([=](Event*) {selectSpell(2); })); spell4 = new Button(75, 75); spellInfos->add(spell4); spell4->setPosition(50 + 100 + 100 + 100 + daX, 100 + daY); spell4->Clickable::setCallback(new EventCallback([=](Event*) {selectSpell(3); })); nomSpell = new Label(400, 50, "Nom Spell", (*ServiceLocator::getFontManager())["LifeCraft"]); spellInfos->add(nomSpell); nomSpell->setPosition(25 + daX, 175 + daY); descrSpell = new Label(500, 150, "Description du Spell : bla bla bla bla bla", (*ServiceLocator::getFontManager())["LifeCraft"]); spellInfos->add(descrSpell); descrSpell->setPosition(25 + daX, 205 + daY); descrSpell->setTextSize(22); descrSpell->setTextAlignment(Alignment::CENTERY | Alignment::LEFT); infos = new Label(400, 35, "Cost : X , Range : Y , inline / aoe", (*ServiceLocator::getFontManager())["LifeCraft"]); spellInfos->add(infos); infos->setPosition(25 + daX, 350 + daY); infos->setTextSize(22); unsigned int n = rand() % Grid::CELLS_NUMBER; while (GAMEINST->getGrid()->getCell(n)->getType() != Cell::Free) { n = rand() % Grid::CELLS_NUMBER; } a = new Archer(GAMEINST->getGrid()->getCell(n)->getPosX(), GAMEINST->getGrid()->getCell(n)->getPosY()); while (GAMEINST->getGrid()->getCell(n)->getType() != Cell::Free) { n = rand() % Grid::CELLS_NUMBER; } k = new Knight(GAMEINST->getGrid()->getCell(n)->getPosX(), GAMEINST->getGrid()->getCell(n)->getPosY()); while (GAMEINST->getGrid()->getCell(n)->getType() != Cell::Free) { n = rand() % Grid::CELLS_NUMBER; } m = new Mage(GAMEINST->getGrid()->getCell(n)->getPosX(), GAMEINST->getGrid()->getCell(n)->getPosY()); selectClass(a); }