void GameManager::Play() { Vector<Collider*>& colliders = m_colliderManager->m_colliders; Vector<Target*>& targets = m_targetManager->m_targets; Collider* collider = nullptr; for (int i = 0; i < colliders.size(); i++) { collider = colliders.at(i); if (collider->IsFlying()) { collider->Act(); CheckCollide(collider, targets); } if (collider->IsBullet()) { Bullet* bullet = static_cast<Bullet*>(collider); if (bullet->IsToExplode()) { Explosion* explosion = bullet->GetExplosion(); m_colliderManager->AddExplosion(explosion); m_gameLayer->addChild(explosion); if (m_curStageNum == 12) { CocosDenshion::SimpleAudioEngine::getInstance()->playEffect(FileStuff::SOUND_CAR_CRASH, false, 1.0f, 0, 0); } else { CocosDenshion::SimpleAudioEngine::getInstance()->playEffect(FileStuff::SOUND_FIREWORK_EXPLOSION, false, 1.0f, 0, 0); } } } } m_colliderManager->EraseDeadColliders(); m_targetManager->EraseDeadTargets(); ControlWinFailProgress(); }