Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/render')
-rw-r--r--src/render/particlesystem.cc26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/render/particlesystem.cc b/src/render/particlesystem.cc
index 1487587..c085d5d 100644
--- a/src/render/particlesystem.cc
+++ b/src/render/particlesystem.cc
@@ -181,12 +181,16 @@ void ParticleSystem::draw(const float seconds)
}
break;
- case core::Entity::Destroyed:
+ case core::Entity::Destroyed:
if (ejector->explosion()) {
ejector_active = true;
}
break;
+ case core::Entity::NoPower:
+ ejector_active = false;
+ break;
+
default:
break;
}
@@ -197,6 +201,26 @@ void ParticleSystem::draw(const float seconds)
if (dynamic->state() == core::Entity::NoPower) {
ejector_active = false;
}
+
+ switch (dynamic->state()) {
+ case core::Entity::Impulse:
+ case core::Entity::ImpulseInitiate:
+ case core::Entity::Normal:
+ break;
+
+ case core::Entity::Destroyed:
+ if (ejector->explosion()) {
+ ejector_active = true;
+ }
+ break;
+
+ case core::Entity::NoPower:
+ ejector_active = false;
+ break;
+
+ default:
+ break;
+ }
}
ejector->enable(ejector_active);
}