bool MainClass::update() { if (m_isHelpOpened && ( Engine::instance().getJoystickMgr().isPressed(JoystickManager::PLAYER_ONE, JoystickManager::BUTTON_X) || Engine::instance().getJoystickMgr().isPressed(JoystickManager::PLAYER_ONE, JoystickManager::BUTTON_START) || Engine::instance().getJoystickMgr().isPressed(JoystickManager::PLAYER_TWO, JoystickManager::BUTTON_X) || Engine::instance().getJoystickMgr().isPressed(JoystickManager::PLAYER_TWO, JoystickManager::BUTTON_START))) { m_isHelpOpened = false; } iterateList(m_clouds, Cloud*) { (*it)->manage(); } if (!m_burning->isGameOver() && !m_isHelpOpened) { m_chara->manage(m_collisionImage, m_waterSystem); m_cannon->manage(m_swarm, *m_engineSystem, m_burning->hasCannonDamage()); m_burning->manage(m_cannon->getCollisionPos()); m_engineSystem->manage(m_burning); std::list<WaterDrop*>& waterDrops = m_waterSystem->manage(); iterateList(waterDrops, WaterDrop*) { m_burning->checkCollisions(*it); }