Browse Source

Add ParticleSystem:getPosition (issue #368)

Bill Meltsner 13 years ago
parent
commit
86abc9323b

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

@@ -320,6 +320,11 @@ namespace opengl
 	{
 		return position.getY();
 	}
+	
+	const love::Vector& ParticleSystem::getPosition() const
+	{
+		return position;
+	}
 
 	float ParticleSystem::getDirection() const
 	{

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

@@ -363,6 +363,11 @@ namespace opengl
 		**/
 		float getY() const;
 
+		/**
+		* Returns the position of the emitter.
+		**/
+		const love::Vector& getPosition() const;
+
 		/**
 		* Returns the direction of the emitter (in degrees).
 		**/

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

@@ -20,6 +20,8 @@
 
 #include "wrap_ParticleSystem.h"
 
+#include <common/Vector.h>
+
 #include <cstring>
 
 namespace love
@@ -260,6 +262,15 @@ namespace opengl
 		lua_pushnumber(L, t->getY());
 		return 1;
 	}
+	
+	int w_ParticleSystem_getPosition(lua_State * L)
+	{
+		ParticleSystem * t = luax_checkparticlesystem(L, 1);
+		const love::Vector& p = t->getPosition();
+		lua_pushnumber(L, p.x);
+		lua_pushnumber(L, p.y);
+		return 2;
+	}
 
 	int w_ParticleSystem_getDirection(lua_State * L)
 	{
@@ -376,6 +387,7 @@ namespace opengl
 		{ "setOffset", w_ParticleSystem_setOffset },
 		{ "getX", w_ParticleSystem_getX },
 		{ "getY", w_ParticleSystem_getY },
+		{ "getPosition", w_ParticleSystem_getPosition },
 		{ "getDirection", w_ParticleSystem_getDirection },
 		{ "getSpread", w_ParticleSystem_getSpread },
 		{ "getOffsetX", w_ParticleSystem_getOffsetX },

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

@@ -55,6 +55,7 @@ namespace opengl
 	int w_ParticleSystem_setOffset(lua_State * L);
 	int w_ParticleSystem_getX(lua_State * L);
 	int w_ParticleSystem_getY(lua_State * L);
+	int w_ParticleSystem_getPosition(lua_State * L);
 	int w_ParticleSystem_getDirection(lua_State * L);
 	int w_ParticleSystem_getSpread(lua_State * L);
 	int w_ParticleSystem_getOffsetX(lua_State * L);