void GameScene::onWinGame() { enableGame(false); if(mTimerLabel->getPositionY() < VisibleRect::top().y) { showHideMenu(true); } this->runAction(Sequence::create(DelayTime::create(0.3), CallFunc::create([this]{ toMainMenu(); }), NULL)); }
void GameScene::createMenuButtons() { #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS || CC_TARGET_PLATFORM == CC_PLATFORM_MAC) mTimerLabel = Label::createWithSystemFont("0.0", "Heiti TC", 50, Size::ZERO, TextHAlignment::CENTER,TextVAlignment::CENTER); #else TTFConfig config("fonts/Montserra.ttf",50); mTimerLabel = Label::createWithTTF(config,"0.0"); #endif addChild(mTimerLabel,1000); mTimerLabel->setPosition(VisibleRect::center().x, VisibleRect::top().y + 50); mBackMenu = MenuItemImage::create("images/menu_icon.png", "images/menu_icon.png", [&](Ref*) { mBackMenu->runAction(Sequence::create(ScaleTo::create(0.1, 0.5),ScaleTo::create(0.1, 0.4), NULL)); showHideMenu(true); this->runAction(Sequence::create(DelayTime::create(0.2), CallFunc::create([this]{ toMainMenu(); }), NULL)); }); mRestartMenu = MenuItemImage::create("images/restart_icon.png", "images/restart_icon.png", [&](Ref*) { mRestartMenu->runAction(Sequence::create(ScaleTo::create(0.1, 0.6),ScaleTo::create(0.1, 0.5), NULL)); showHideMenu(true); this->runAction(Sequence::create(DelayTime::create(0.2), CallFunc::create([this]{ mGame->enableGame(false); mGame->enableGame(true); }), NULL)); }); mBackMenu->setColor(Color3B(200,200,200)); mRestartMenu->setColor(Color3B(200,200,200)); mTimerLabel->setColor(Color3B(200,200,200)); mBackMenu->setPosition(50, VisibleRect::top().y + 50); mRestartMenu->setPosition(VisibleRect::right().x - 50, VisibleRect::top().y + 50); mBackMenu->setScale(0.4); mRestartMenu->setScale(0.5); auto menu = Menu::create(mBackMenu,mRestartMenu, NULL); menu->setPosition(Vec2::ZERO); addChild(menu,1000); }
QmlBattleWidget::QmlBattleWidget(QObject* widget) : mBattleWidget(widget), mChatAndStatus(new QmlChatAndStatus()) { timer = mBattleWidget->findChild<QObject*>("timer"); connect(mBattleWidget, SIGNAL(buttonBackPressed()), this, SIGNAL(buttonBackPressed())); connect(mBattleWidget, SIGNAL(deleteMode(bool)), SLOT(handleDeleteShipMode(bool))); mInfoTab = QSharedPointer<QmlInfoTab>(new QmlInfoTab(mBattleWidget->findChild<QObject*>("mAutoButton") ,mBattleWidget->findChild<QObject*>("mButtonReady") ,mBattleWidget->findChild<QObject*>("mCountOfShip"))); mPlrField = QSharedPointer<QmlField>(new QmlField(mBattleWidget->findChild<QObject*>("mPlrField"))); mEnemyField = QSharedPointer<QmlField>(new QmlField(mBattleWidget->findChild<QObject*>("mEnemyField"))); dialog = mBattleWidget->findChild<QObject*>("dialogs"); endDialog = mBattleWidget->findChild<QObject*>("endDialogs"); connect(dialog, SIGNAL(gameBreakDialogOkPressed()), this, SIGNAL(gameBreakDialogOkPressed())); connect(dialog, SIGNAL(quitDialogOkPressed()), this, SIGNAL(quitDialogOkPressed())); connect(dialog, SIGNAL(quitDialogCancelPressed()), this, SIGNAL(quitDialogCancelPressed())); connect(endDialog, SIGNAL(toMainMenu()), this, SIGNAL(quitDialogOkPressed())); }
// this is constructor. Menu::Menu(Configuration & newConfig) : config(newConfig), gui(config.window) { /* initialize the menu state */ state = STATE::getUserName; gui.setFont(tgui::Font(config.fontMan.get("Carlito-Bold.ttf"))); //set the default font of gui titlePic = std::make_shared<tgui::Picture>(); titlePic->setTexture(config.texMan.get("title.png")); titlePic->setPosition(100, 50); titlePic->setSize(600, 150); /* initialize the background */ backgrd.setSize(sf::Vector2f(config.window.getSize())); backgrd.setTexture(&config.texMan.get("Tower1.png")); /* initialize the getUserName gui */ state_getUserName.initialize(config); state_getUserName.confirm->connect("mousereleased", [&]() { config.soundMan.get("Decision2.ogg").play(); //config.player_name->connect("mousereleased", [&]() {state_getUserName.textBox->setText("")}); config.player_name = state_getUserName.textBox->getText(); toMainMenu(); }); /* initialize the mainMenu gui */ state_mainMenu.initialize(config); state_mainMenu.startButton->connect("mousereleased", [&]() { config.soundMan.get("Decision2.ogg").play(); tomodeChoice(); }); state_mainMenu.settingButton->connect("mousereleased", [&]() { config.soundMan.get("Decision2.ogg").play(); toSetting(); }); state_mainMenu.exitButton->connect("mousereleased", [&]() {config.window.close(); }); /* initialize the setting gui */ state_settings.initialize(config); state_settings.backButton->connect("mousereleased", [&]() { config.soundMan.get("Decision2.ogg").play(); toMainMenu(); }); state_settings.MusVol->connect("valuechanged", [&]() { float value = state_settings.MusVol->getValue() * 10.f; config.musMan.setVolume(value); }); state_settings.sonVol->connect("valuechanged", [&]() { float value = state_settings.sonVol->getValue() * 10.f; config.soundMan.setVolume(value); }); /* initialize modeChoice gui */ state_modeChoice.initialize(config); state_modeChoice.client->connect("mousereleased", [&]() { config.soundMan.get("Decision2.ogg").play(); toConnect(); }); state_modeChoice.server->connect("mousereleased", [&]() { config.soundMan.get("Decision2.ogg").play(); toLobby(); }); state_modeChoice.back->connect("mousereleased", [&]() { config.soundMan.get("Decision2.ogg").play(); toMainMenu(); }); /* initialize connect gui */ state_connect.initialize(config); state_connect.backButton->connect("mousereleased", [&]() { config.soundMan.get("Decision2.ogg").play(); tomodeChoice(); }); state_connect.connectButton->connect("mousereleased", [&]() { config.soundMan.get("Decision2.ogg").play(); toConnecting(); config.window.clear(); draw(); config.window.display(); tryConnect(); if (lobbyPtr) { toLobby(); } else { state_connecting.text->setText("Failed to connect the server."); state_connecting.backButton->show(); } }); /* initialize connecting gui */ state_connecting.initialize(config); state_connecting.backButton->connect("mousereleased", [&](){ config.soundMan.get("Decision2.ogg").play(); toConnect(); state_connecting.text->setText("Connecting..."); /// hide vs show ??? state_connecting.backButton->hide(); }); done = false; }