void Camera::trigger(Message msg){ switch(msg.messageType){ case Message::MSG_CAMERA_INITIALIZED: initValues(); break; case Message::MSG_COL_PLAYER_FLY: switch(msg.additionalInfo){ case FlyingObject::FOM_BAD: shakeCamera(); setColorFilter(btVector3(1,0,0)); Cleaner::getInstance()->deleteBody(m_colorFilter, 500); break; case FlyingObject::FOM_GOOD: setColorFilter(btVector3(0,1,0)); Cleaner::getInstance()->deleteBody(m_colorFilter, 75); break; case FlyingObject::FOM_REFLECT: // setColorFilter(btVector3(0,0,.5)); // Cleaner::getInstance()->deleteBody(m_colorFilter, 75); break; } break; } }
void HexagonGame::death() { playSound("death.ogg"); playSound("gameOver.ogg"); if(getInvincible()) return; status.flashEffect = 255; shakeCamera(effectTimelineManager, overlayCamera); shakeCamera(effectTimelineManager, backgroundCamera); for(auto& depthCamera : depthCameras) shakeCamera(effectTimelineManager, depthCamera); status.hasDied = true; stopLevelMusic(); checkAndSaveScore(); if(getAutoRestart()) status.mustRestart = true; }
void HexagonGame::death(bool mForce) { fpsWatcher.disable(); assets.playSound("death.ogg", SoundPlayer::Mode::Abort); if(!mForce && (Config::getInvincible() || levelStatus.tutorialMode)) return; assets.playSound("gameOver.ogg", SoundPlayer::Mode::Abort); if(!assets.pIsLocal() && Config::isEligibleForScore()) { Online::trySendDeath(); } status.flashEffect = 255; shakeCamera(effectTimelineManager, overlayCamera); shakeCamera(effectTimelineManager, backgroundCamera); for(auto& depthCamera : depthCameras) shakeCamera(effectTimelineManager, depthCamera); status.hasDied = true; stopLevelMusic(); checkAndSaveScore(); if(Config::getAutoRestart()) status.mustRestart = true; }