Added ParticleSystem:isStopped (issue #623)

This commit is contained in:
Alex Szpakowski
2013-05-24 02:21:47 -03:00
parent 4dc2072fc6
commit 0545138f1e
4 changed files with 16 additions and 0 deletions
@@ -578,6 +578,11 @@ bool ParticleSystem::isPaused() const
return !active && life < lifetime; return !active && life < lifetime;
} }
bool ParticleSystem::isStopped() const
{
return !active && life >= lifetime;
}
bool ParticleSystem::isEmpty() const bool ParticleSystem::isEmpty() const
{ {
return pStart == pLast; return pStart == pLast;
@@ -473,6 +473,8 @@ public:
**/ **/
bool isPaused() const; bool isPaused() const;
bool isStopped() const;
/** /**
* Returns whether the particle system is empty of particles or not. * Returns whether the particle system is empty of particles or not.
**/ **/
@@ -586,6 +586,13 @@ int w_ParticleSystem_isPaused(lua_State *L)
return 1; 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) int w_ParticleSystem_update(lua_State *L)
{ {
ParticleSystem *t = luax_checkparticlesystem(L, 1); ParticleSystem *t = luax_checkparticlesystem(L, 1);
@@ -648,6 +655,7 @@ static const luaL_Reg functions[] =
{ "emit", w_ParticleSystem_emit }, { "emit", w_ParticleSystem_emit },
{ "isActive", w_ParticleSystem_isActive }, { "isActive", w_ParticleSystem_isActive },
{ "isPaused", w_ParticleSystem_isPaused }, { "isPaused", w_ParticleSystem_isPaused },
{ "isStopped", w_ParticleSystem_isStopped },
{ "update", w_ParticleSystem_update }, { "update", w_ParticleSystem_update },
{ 0, 0 } { 0, 0 }
}; };
@@ -86,6 +86,7 @@ int w_ParticleSystem_reset(lua_State *L);
int w_ParticleSystem_emit(lua_State *L); int w_ParticleSystem_emit(lua_State *L);
int w_ParticleSystem_isActive(lua_State *L); int w_ParticleSystem_isActive(lua_State *L);
int w_ParticleSystem_isPaused(lua_State *L); int w_ParticleSystem_isPaused(lua_State *L);
int w_ParticleSystem_isStopped(lua_State *L);
int w_ParticleSystem_update(lua_State *L); int w_ParticleSystem_update(lua_State *L);
extern "C" int luaopen_particlesystem(lua_State *L); extern "C" int luaopen_particlesystem(lua_State *L);