Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/scripting
diff options
context:
space:
mode:
Diffstat (limited to 'source/game/scripting')
-rw-r--r--source/game/scripting/StarBehaviorLuaBindings.cpp2
-rw-r--r--source/game/scripting/StarBehaviorLuaBindings.hpp2
-rw-r--r--source/game/scripting/StarSongbookLuaBindings.cpp21
-rw-r--r--source/game/scripting/StarSongbookLuaBindings.hpp11
4 files changed, 34 insertions, 2 deletions
diff --git a/source/game/scripting/StarBehaviorLuaBindings.cpp b/source/game/scripting/StarBehaviorLuaBindings.cpp
index 8866746..4bf16f2 100644
--- a/source/game/scripting/StarBehaviorLuaBindings.cpp
+++ b/source/game/scripting/StarBehaviorLuaBindings.cpp
@@ -4,7 +4,7 @@
namespace Star {
-LuaCallbacks LuaBindings::makeBehaviorLuaCallbacks(List<BehaviorStatePtr>* list) {
+LuaCallbacks LuaBindings::makeBehaviorCallbacks(List<BehaviorStatePtr>* list) {
LuaCallbacks callbacks;
callbacks.registerCallback("behavior", [list](Json const& config, JsonObject const& parameters, LuaTable context, Maybe<LuaUserData> blackboard) -> BehaviorStateWeakPtr {
diff --git a/source/game/scripting/StarBehaviorLuaBindings.hpp b/source/game/scripting/StarBehaviorLuaBindings.hpp
index d2a882b..01c04ab 100644
--- a/source/game/scripting/StarBehaviorLuaBindings.hpp
+++ b/source/game/scripting/StarBehaviorLuaBindings.hpp
@@ -9,6 +9,6 @@ STAR_CLASS(Root);
STAR_CLASS(UniverseClient);
namespace LuaBindings {
- LuaCallbacks makeBehaviorLuaCallbacks(List<BehaviorStatePtr>* list);
+ LuaCallbacks makeBehaviorCallbacks(List<BehaviorStatePtr>* list);
}
}
diff --git a/source/game/scripting/StarSongbookLuaBindings.cpp b/source/game/scripting/StarSongbookLuaBindings.cpp
new file mode 100644
index 0000000..e2f70a3
--- /dev/null
+++ b/source/game/scripting/StarSongbookLuaBindings.cpp
@@ -0,0 +1,21 @@
+#include "StarSongbookLuaBindings.hpp"
+#include "StarLuaConverters.hpp"
+
+namespace Star {
+
+LuaCallbacks LuaBindings::makeSongbookCallbacks(Songbook* songbook) {
+ LuaCallbacks callbacks;
+
+ callbacks.registerCallbackWithSignature<void, Json, String>("play", bind(mem_fn(&Songbook::play), songbook, _1, _2));
+ callbacks.registerCallbackWithSignature<void, String, Vec2F>("keepAlive", bind(mem_fn(&Songbook::keepAlive), songbook, _1, _2));
+ callbacks.registerCallbackWithSignature<void>("stop", bind(mem_fn(&Songbook::stop), songbook));
+ callbacks.registerCallbackWithSignature<bool>("active", bind(mem_fn(&Songbook::active), songbook));
+ callbacks.registerCallbackWithSignature<String>("band", bind(mem_fn(&Songbook::timeSource), songbook));
+ callbacks.registerCallbackWithSignature<String>("instrument", bind(mem_fn(&Songbook::instrument), songbook));
+ callbacks.registerCallbackWithSignature<bool>("instrumentPlaying", bind(mem_fn(&Songbook::instrumentPlaying), songbook));
+ callbacks.registerCallbackWithSignature<Json>("song", bind(mem_fn(&Songbook::song), songbook));
+
+ return callbacks;
+}
+
+}
diff --git a/source/game/scripting/StarSongbookLuaBindings.hpp b/source/game/scripting/StarSongbookLuaBindings.hpp
new file mode 100644
index 0000000..cc55ec6
--- /dev/null
+++ b/source/game/scripting/StarSongbookLuaBindings.hpp
@@ -0,0 +1,11 @@
+#pragma once
+
+#include "StarLua.hpp"
+#include "StarSongbook.hpp"
+
+namespace Star {
+
+namespace LuaBindings {
+ LuaCallbacks makeSongbookCallbacks(Songbook* songbook);
+}
+}