12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #include "ui/hotseat_intro/playervsplayerintro.h"
- #include "gui/guiscenemanager.h"
- #include "playermanager.h"
- #include "soundengine.h"
- #include "gui/scene.h"
- #include "ui_playervsplayerintro.h"
- #include <QMovie>
- PlayerVsPlayerIntro::PlayerVsPlayerIntro(QWidget *parent) :
- Scene(parent),
- ui(new Ui::PlayerVsPlayerIntro)
- {
- ui->setupUi(this);
- watcher = new PvPIntroButtonHoverWatcher(this);
- ui->back_button->installEventFilter(watcher);
- ui->continue_button->installEventFilter(watcher);
- movie = new QMovie(":/assets/hotseat_intro/image.gif");
- ui->image->setMovie(movie);
- movie->start();
- }
- void PlayerVsPlayerIntro::init()
- {
- // GuiSceneManager::getInstance().show("main_menu_background");
- // raise();
- }
- PlayerVsPlayerIntro::~PlayerVsPlayerIntro()
- {
- delete ui;
- delete watcher;
- }
- PvPIntroButtonHoverWatcher::PvPIntroButtonHoverWatcher(QObject * parent) :
- QObject(parent)
- {}
- bool PvPIntroButtonHoverWatcher::eventFilter(QObject * watched, QEvent * event) {
- QPushButton * button = qobject_cast<QPushButton*>(watched);
- if (!button) {
- return false;
- }
- if (event->type() == QEvent::Enter) {
- button->setStyleSheet("border-image: url(:/assets/hotseat_intro/" + button->objectName() + "_hover.png);");
- SoundEngine::getInstance().playAsync("qrc:/assets/hotseat_intro/button_hover.mp3");
- return false;
- }
- if (event->type() == QEvent::Leave){
- button->setStyleSheet("border-image: url(:/assets/hotseat_intro/" + button->objectName() + ".png);");
- return false;
- }
- if (event->type() == QEvent::MouseButtonPress) {
- SoundEngine::getInstance().playAsync("qrc:/assets/hotseat_intro/button_click.mp3");
- return false;
- }
- return false;
- }
- void PlayerVsPlayerIntro::on_back_button_clicked() {
- GuiSceneManager::getInstance().changeScene("main_menu");
- }
- void PlayerVsPlayerIntro::on_continue_button_clicked() {
- PlayerManager::getInstance().setPlayersNum(2);
- /// TODO - Check if money input correct
- GuiSceneManager::getInstance().changeScene("recruit_army", "0|" + ui->money->text());
- }
|