Esempio n. 1
0
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;
	}
}
Esempio n. 2
0
	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;
	}
Esempio n. 3
0
	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;
	}