void GameScreen::updateInputGameOver() { for (std::vector<TouchEvent>::iterator itr = m_touchEvents.begin(); itr != m_touchEvents.end(); itr++) { touchToWorld((*itr)); switch (itr->getTouchType()) { case DOWN: return; case DRAGGED: continue; case UP: if (m_gameOverDialog->isTouchingRightButton(*m_touchPoint)) { init(); onResume(); } else if (m_pausedDialog->isTouchingLeftButton(*m_touchPoint)) { m_iScreenState = SCREEN_STATE_EXIT; } return; } } }
void GameScreen::updateInputGameOver(std::vector<TouchEvent> &touchEvents) { for (std::vector<TouchEvent>::iterator itr = touchEvents.begin(); itr != touchEvents.end(); itr++) { touchToWorld((*itr)); switch (itr->getTouchType()) { case DOWN: continue; case DRAGGED: continue; case UP: if(OverlapTester::isPointInRectangle(*m_touchPoint, m_okButton->getBounds())) { init(); } else if(OverlapTester::isPointInRectangle(*m_touchPoint, m_leaderboardsButton->getBounds())) { // Show leaderboards m_iScreenState = 4; } return; } } }
void GameScreen::updateInputRunning(std::vector<TouchEvent> &touchEvents) { for (std::vector<TouchEvent>::iterator itr = touchEvents.begin(); itr != touchEvents.end(); itr++) { touchToWorld((*itr)); switch (itr->getTouchType()) { case DOWN: m_world->handleTouchUp(*itr); continue; case DRAGGED: continue; case UP: // Nothing return; } } }
void GameScreen::updateInputRunning() { for (std::vector<TouchEvent>::iterator itr = m_touchEvents.begin(); itr != m_touchEvents.end(); itr++) { touchToWorld((*itr)); switch (itr->getTouchType()) { case DOWN: if (m_backgroundElements->isUpgradeSellMenuShowing()) { if (m_backgroundElements->isTouchInTowerSelectionMenuArea(*m_touchPoint)) { handleTouchDownInUpgradeSellMenu(); } else { m_backgroundElements->setUpgradeSellMenuShowing(false); m_touchCursor->setVisibility(false); } } else { // handle the user selecting a tower if (m_backgroundElements->isTouchInTowerSelectionMenuArea(*m_touchPoint)) { int selectedTowerCost; if ((selectedTowerCost = m_backgroundElements->handleTouchDownInTowerSelectionMenu(*m_touchPoint)) > 0) { setAdjustFundsText(selectedTowerCost, false); } } } continue; case DRAGGED: if (m_backgroundElements->isUpgradeSellMenuShowing()) { if (m_backgroundElements->isTouchInTowerSelectionMenuArea(*m_touchPoint)) { handleTouchDownInUpgradeSellMenu(); } } else { if (m_backgroundElements->isTowerSelected()) { m_backgroundElements->setSelectedTowerPosition(*m_touchPoint); World::getInstance()->updateTowerCursor(m_backgroundElements->getSelectedTowerCursor()); } } continue; case UP: if (m_backgroundElements->isUpgradeSellMenuShowing()) { if (m_backgroundElements->isTouchInTowerSelectionMenuArea(*m_touchPoint)) { handleTouchUpInUpgradeSellMenu(); } } else { if (m_backgroundElements->isTowerSelected()) { if (World::getInstance()->placeTower(m_backgroundElements->getSelectedTowerCursor())) { m_iFunds -= TowerCostMapper::getCostForTowerType(m_backgroundElements->getSelectedTowerCursor().getTowerType()); updateFundsTextAndTowerCursors(); m_backgroundElements->reset(); } m_adjustFundsText->setText(""); m_backgroundElements->reset(); } else { updateAndHandleTouchCursor(); if (m_touchCursor->isTowerLockAcquired()) { m_backgroundElements->setUpgradeSellMenuShowing(true); adjustUpgradeTowerButtonColor(); adjustUpgradeSellTexts(); } else { if (World::getInstance()->handleTouchUp(*m_touchPoint)) { waveCompleted(); waveSpawned(); } else if (m_timeButton->isTouching(*m_touchPoint)) { if (m_timeButton->handleTouch(*m_touchPoint)) { onPause(); } } } } } return; } } }