aboutsummaryrefslogtreecommitdiffstats
path: root/include/systems/movement.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/systems/movement.hpp')
-rw-r--r--include/systems/movement.hpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/systems/movement.hpp b/include/systems/movement.hpp
index fd37665..745fa9b 100644
--- a/include/systems/movement.hpp
+++ b/include/systems/movement.hpp
@@ -2,10 +2,32 @@
#define SYSTEM_MOVEMENT_HPP_
#include <entityx/entityx.h>
+#include <attack.hpp>
class MovementSystem : public entityx::System<MovementSystem> {
+private:
+ constexpr static const char *hitPlayerScript = "\
+ effect = function()\n \
+ flash(255, 0, 0)\n \
+ damage(1)\n \
+ end\n \
+ hit = function()\n \
+ xrange = 5\n \
+ end";
+ static LuaScript hitPlayer;
+ static Attack playerAttack;
+
public:
+ MovementSystem(void) {
+ hitPlayer = LuaScript(hitPlayerScript);
+ AttackSystem::initLua(hitPlayer);
+ playerAttack = { vec2(), vec2(5, 5), vec2(), vec2(),
+ hitPlayer, TextureIterator() };
+ }
+
void update(entityx::EntityManager &en, entityx::EventManager &ev, entityx::TimeDelta dt) override;
+
+ static int doAttack(lua_State *);
};
#endif // SYSTEM_MOVEMENT_HPP_