summary refs log tree commit diff stats
path: root/src/systems/scripting.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/systems/scripting.h')
-rw-r--r--src/systems/scripting.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/systems/scripting.h b/src/systems/scripting.h new file mode 100644 index 0000000..b119c3f --- /dev/null +++ b/src/systems/scripting.h
@@ -0,0 +1,34 @@
1#ifndef AUTOMATING_H_E6E5D76E
2#define AUTOMATING_H_E6E5D76E
3
4#include "system.h"
5#include <sol.hpp>
6
7class ScriptingSystem : public System {
8public:
9
10 ScriptingSystem(Game& game);
11
12 void tick(double dt);
13
14 void killScript(id_type entity);
15
16 void startBehavior(id_type entity);
17
18 void stopBehavior(id_type entity);
19
20 void onTouch(id_type entity, id_type player);
21
22private:
23
24 template <typename... Args>
25 sol::optional<id_type> runScript(
26 std::string table,
27 std::string event,
28 id_type entity,
29 Args&&... args);
30
31 sol::state engine_;
32};
33
34#endif /* end of include guard: AUTOMATING_H_E6E5D76E */