Ejemplo n.º 1
0
void CJaw::DropUsed()
{
	if (!gEnv->IsEditing())
	{
		m_dropped = true;
		EnableUpdate(true);
		Pickalize(false,true);
		CreateSmokeEffect();
		if (g_pGame->GetTacticalManager())
			g_pGame->GetTacticalManager()->RemoveEntity(GetEntityId(), CTacticalManager::eTacticalEntity_Item);
	}

	if (m_playedDropAction)
	{
		DrawSlot(eIGS_ThirdPersonAux, true);
		DrawSlot(eIGS_ThirdPerson, false);
	}
	else
	{
		DrawSlot(eIGS_ThirdPersonAux, false);
		DrawSlot(eIGS_ThirdPerson, true);
	}
}
Ejemplo n.º 2
0
ParticleComponent* ParticleFactory::CreateParticleSystem(ParticlePrefabs prefab, GameObject* object, IScene* scene)
{
	switch (prefab)
	{
	case ParticleFactory::PointFire:
		{
			std::shared_ptr<ParticlePointEmitter> emitter = std::make_shared<ParticlePointEmitter>
				(ParticlePointEmitter(90, physx::PxVec3(0.0f, 0.0f, 0.0f), 
				physx::PxVec3(-0.7f, 1.0f, -0.70f).getNormalized(), physx::PxVec3(0.70f, 1.0f, 0.70f).getNormalized(),
				0.0f, 1.50f, 2.50f));
			return CreateFireEffect(emitter, object, scene);

			
		}
		break;
	case ParticleFactory::SphereFire:
		{
			std::shared_ptr<SphereEmitter> emitter = std::make_shared<SphereEmitter>
				(SphereEmitter(90, physx::PxVec3(0.0f), 0.0f, 0.15f, 0.250f, true, 0.40f, true));
			return CreateFireEffect(emitter, object, scene);
			
		}
		break;
	case ParticleFactory::PointSmoke:
		{
			std::shared_ptr<ParticlePointEmitter> emitter = std::make_shared<ParticlePointEmitter>
				(ParticlePointEmitter(90, physx::PxVec3(0.0f, 0.10f, 0.0f), 
				physx::PxVec3(-0.5f, 1.0f, -0.50f).getNormalized(), physx::PxVec3(0.50f, 1.0f, 0.50f).getNormalized(),
				0.0f, 1.50f, 2.50f));
			return CreateSmokeEffect(emitter, object, scene);
			
		}
		break;
	case ParticleFactory::SphereSmoke:
		{
			std::shared_ptr<SphereEmitter> emitter = std::make_shared<SphereEmitter>
				(SphereEmitter(90, physx::PxVec3(0.0f), 0.0f, 0.25f, 0.50f, true, 0.50f, false));
			return CreateSmokeEffect(emitter, object, scene);
		}
		break;
	case ParticleFactory::WaterMist:
		return CreateWaterMistEffect(object, scene);
		break;
	case ParticleFactory::EarthExplosion:
		return CreateExplosion(physx::PxVec4(0.410f, 0.41f, 0.41f, 0.8f),
			physx::PxVec4(0.55f, 0.27f, 0.062f, 0.0f),
			object, scene);
		break;
	case ParticleFactory::FireExplosion:
		return CreateExplosion(physx::PxVec4(1.0f, 0.3f, 0.0f, 1.0f), 
			physx::PxVec4(1.0f, 0.0f, 0.0f, 0.20f),
			object, scene);
		break;
	case ParticleFactory::WaterExplosion:
		return CreateExplosion(physx::PxVec4(0.3f, 0.0f, 1.0f, 1.0f), 
			physx::PxVec4(0.0f, 0.0f, 1.0f, 0.20f),
			object, scene);
		break;
	default:
		return nullptr;
		break;
	}
}