Browse Source

Added ParticleSystem:isStopped (issue #623)

Alex Szpakowski 12 years ago
parent
commit
0545138f1e

+ 5 - 0
src/modules/graphics/opengl/ParticleSystem.cpp

@@ -578,6 +578,11 @@ bool ParticleSystem::isPaused() const
 	return !active && life < lifetime;
 }
 
+bool ParticleSystem::isStopped() const
+{
+	return !active && life >= lifetime;
+}
+
 bool ParticleSystem::isEmpty() const
 {
 	return pStart == pLast;

+ 2 - 0
src/modules/graphics/opengl/ParticleSystem.h

@@ -473,6 +473,8 @@ public:
 	 **/
 	bool isPaused() const;
 
+	bool isStopped() const;
+
 	/**
 	 * Returns whether the particle system is empty of particles or not.
 	 **/

+ 8 - 0
src/modules/graphics/opengl/wrap_ParticleSystem.cpp

@@ -586,6 +586,13 @@ int w_ParticleSystem_isPaused(lua_State *L)
 	return 1;
 }
 
+int w_ParticleSystem_isStopped(lua_State *L)
+{
+	ParticleSystem *t = luax_checkparticlesystem(L, 1);
+	luax_pushboolean(L, t->isStopped());
+	return 1;
+}
+
 int w_ParticleSystem_update(lua_State *L)
 {
 	ParticleSystem *t = luax_checkparticlesystem(L, 1);
@@ -648,6 +655,7 @@ static const luaL_Reg functions[] =
 	{ "emit", w_ParticleSystem_emit },
 	{ "isActive", w_ParticleSystem_isActive },
 	{ "isPaused", w_ParticleSystem_isPaused },
+	{ "isStopped", w_ParticleSystem_isStopped },
 	{ "update", w_ParticleSystem_update },
 	{ 0, 0 }
 };

+ 1 - 0
src/modules/graphics/opengl/wrap_ParticleSystem.h

@@ -86,6 +86,7 @@ int w_ParticleSystem_reset(lua_State *L);
 int w_ParticleSystem_emit(lua_State *L);
 int w_ParticleSystem_isActive(lua_State *L);
 int w_ParticleSystem_isPaused(lua_State *L);
+int w_ParticleSystem_isStopped(lua_State *L);
 int w_ParticleSystem_update(lua_State *L);
 extern "C" int luaopen_particlesystem(lua_State *L);