Water splash

This commit is contained in:
Stiffly
2014-06-04 03:26:29 +02:00
parent 90a92d05e4
commit 72a8ee9080
5 changed files with 86 additions and 36 deletions
+59 -28
View File
@@ -102,12 +102,14 @@ void Systems::TankSteeringSystem::UpdateEntity(double dt, EntityID entity, Entit
e.LifeTime = 1.5;
e.ParticleScale.push_back(0.6);
e.ParticleScale.push_back(1.8);
e.ParticlesToSpawn = 5;
e.ParticlesToSpawn = 1;
e.Position = cloneTransform->Position;
e.RelativeUpOrientation = glm::angleAxis(glm::pi<float>() / 2, glm::vec3(1,0,0));
e.Speed = 1.7;
e.SpreadAngle = glm::pi<float>()/10;
e.SpreadAngle = glm::pi<float>()/100;
e.spritePath = "Textures/Sprites/Smoke1.png";
e.Emitting = true;
e.SpawnFrequency = 0.2;
e.Color = glm::vec4(0.6,0.6,0.6,1);
EventBroker->Publish(e);
}
@@ -192,36 +194,65 @@ bool Systems::TankSteeringSystem::OnCollision(const Events::Collision &e)
//auto otherTransform = m_World->GetComponent<Components::Transform>(otherEntity);
{
// Events::CreateExplosion e;
// e.LifeTime = 3;
// e.ParticleScale.push_back(8);
// e.ParticlesToSpawn = 20;
// e.Position = shellTransform->Position;
// e.RelativeUpOrientation = glm::angleAxis(glm::pi<float>() / 2, glm::vec3(1,0,0));
// e.Speed = 3;
// e.SpreadAngle = glm::pi<float>();
// e.spritePath = "Textures/Sprites/Smoke1.png";
// e.Color = glm::vec4(0.6,0.6,0.6,1);
// EventBroker->Publish(e);
// e.LifeTime = 0.7;
// e.ParticleScale.push_back(12);
// e.ParticlesToSpawn = 10;
// e.Position = shellTransform->Position;
// e.RelativeUpOrientation = glm::angleAxis(glm::pi<float>() / 2, glm::vec3(1,0,0));
// e.Speed = 17;
// e.SpreadAngle = glm::pi<float>();
// e.spritePath = "Textures/Sprites/Fire.png";
// EventBroker->Publish(e);
// e.LifeTime = 0.2;
// e.ParticleScale.push_back(1);
// e.ParticleScale.push_back(15);
// e.ParticlesToSpawn = 5;
// e.Position = shellTransform->Position;
// e.RelativeUpOrientation = glm::angleAxis(glm::pi<float>() / 2, glm::vec3(1,0,0));
// e.Speed = 6;
// e.SpreadAngle = glm::pi<float>();
// e.spritePath = "Textures/Sprites/Blast1.png";
// e.Color = glm::vec4(2, 2, 2, 0.2);
// EventBroker->Publish(e);
Events::CreateExplosion e;
e.LifeTime = 3;
e.ParticleScale.push_back(8);
e.LifeTime = 1;
e.ParticleScale.push_back(1);
e.ParticleScale.push_back(3);
e.ParticlesToSpawn = 20;
e.Position = shellTransform->Position;
e.RelativeUpOrientation = glm::angleAxis(glm::pi<float>() / 2, glm::vec3(1,0,0));
e.Speed = 3;
e.SpreadAngle = glm::pi<float>();
e.spritePath = "Textures/Sprites/Smoke1.png";
e.Color = glm::vec4(0.6,0.6,0.6,1);
EventBroker->Publish(e);
e.LifeTime = 0.7;
e.ParticleScale.push_back(12);
e.ParticlesToSpawn = 10;
e.Position = shellTransform->Position;
e.RelativeUpOrientation = glm::angleAxis(glm::pi<float>() / 2, glm::vec3(1,0,0));
e.Speed = 17;
e.SpreadAngle = glm::pi<float>();
e.spritePath = "Textures/Sprites/Fire.png";
EventBroker->Publish(e);
e.LifeTime = 0.2;
e.ParticleScale.push_back(1);
e.ParticleScale.push_back(15);
e.ParticlesToSpawn = 5;
e.Position = shellTransform->Position;
e.RelativeUpOrientation = glm::angleAxis(glm::pi<float>() / 2, glm::vec3(1,0,0));
e.SpreadAngle = glm::radians<float>(180) / 4;
e.RelativeUpOrientation = glm::angleAxis(glm::radians<float>(90), glm::vec3(1,0,0));
e.UseGoalVector = true;
e.GoalVelocity = glm::vec3(0,-4,0);
e.Speed = 6;
e.SpreadAngle = glm::pi<float>();
e.spritePath = "Textures/Sprites/Blast1.png";
e.Color = glm::vec4(2, 2, 2, 0.2);
e.spritePath = "Textures/Sprites/Splash.png";
e.Color = glm::vec4(5.f,5.f,5.f,1);
EventBroker->Publish(e);
e.LifeTime = 1;
e.ParticleScale.push_back(1);
e.ParticleScale.push_back(3);
e.ParticlesToSpawn = 20;
e.Position = shellTransform->Position;
e.SpreadAngle = glm::radians<float>(180)/ 4;
e.RelativeUpOrientation = glm::angleAxis(glm::radians<float>(90), glm::vec3(1,0,0));
e.UseGoalVector = true;
e.GoalVelocity = glm::vec3(0,-4,0);
e.Speed = 6;
e.spritePath = "Textures/Sprites/Splash.png";
e.Color = glm::vec4(1.f,1.f,1.f,1);
EventBroker->Publish(e);
}
{