diff options
Diffstat (limited to 'source/game/scripting')
-rw-r--r-- | source/game/scripting/StarPlayerLuaBindings.cpp | 5 | ||||
-rw-r--r-- | source/game/scripting/StarRootLuaBindings.cpp | 11 | ||||
-rw-r--r-- | source/game/scripting/StarRootLuaBindings.hpp | 2 |
3 files changed, 16 insertions, 2 deletions
diff --git a/source/game/scripting/StarPlayerLuaBindings.cpp b/source/game/scripting/StarPlayerLuaBindings.cpp index 41198da..fe1c06d 100644 --- a/source/game/scripting/StarPlayerLuaBindings.cpp +++ b/source/game/scripting/StarPlayerLuaBindings.cpp @@ -85,6 +85,9 @@ LuaCallbacks LuaBindings::makePlayerCallbacks(Player* player) { } }); + callbacks.registerCallback("name", [player]() { return player->name(); }); + callbacks.registerCallback("setName", [player](String const& name) { player->setName(name); }); + callbacks.registerCallback("species", [player]() { return player->species(); }); callbacks.registerCallback("setSpecies", [player](String const& species) { player->setSpecies(species); }); @@ -101,8 +104,6 @@ LuaCallbacks LuaBindings::makePlayerCallbacks(Player* player) { player->setPersonality(parsePersonality(newPersonality, personalityConfig)); }); - void setPersonality(Personality const& personality); - callbacks.registerCallback("id", [player]() { return player->entityId(); }); callbacks.registerCallback("uniqueId", [player]() { return player->uniqueId(); }); callbacks.registerCallback("isAdmin", [player]() { return player->isAdmin(); }); diff --git a/source/game/scripting/StarRootLuaBindings.cpp b/source/game/scripting/StarRootLuaBindings.cpp index d80d21d..de70950 100644 --- a/source/game/scripting/StarRootLuaBindings.cpp +++ b/source/game/scripting/StarRootLuaBindings.cpp @@ -30,6 +30,8 @@ LuaCallbacks LuaBindings::makeRootCallbacks() { auto root = Root::singletonPtr(); + callbacks.registerCallbackWithSignature<StringList, String>("assetsByExtension", bind(RootCallbacks::assetsByExtension, root, _1)); + callbacks.registerCallbackWithSignature<String, String>("assetData", bind(RootCallbacks::assetData, root, _1)); callbacks.registerCallbackWithSignature<Json, String>("assetJson", bind(RootCallbacks::assetJson, root, _1)); callbacks.registerCallbackWithSignature<Json, String, Json>("makeCurrentVersionedJson", bind(RootCallbacks::makeCurrentVersionedJson, root, _1, _2)); callbacks.registerCallbackWithSignature<Json, Json, String>("loadVersionedJson", bind(RootCallbacks::loadVersionedJson, root, _1, _2)); @@ -170,6 +172,15 @@ LuaCallbacks LuaBindings::makeRootCallbacks() { return callbacks; } +StringList LuaBindings::RootCallbacks::assetsByExtension(Root* root, String const& extension) { + return root->assets()->scanExtension(extension); +} + +String LuaBindings::RootCallbacks::assetData(Root* root, String const& path) { + auto bytes = root->assets()->bytes(path); + return String(bytes->ptr(), bytes->size()); +} + Json LuaBindings::RootCallbacks::assetJson(Root* root, String const& path) { return root->assets()->json(path); } diff --git a/source/game/scripting/StarRootLuaBindings.hpp b/source/game/scripting/StarRootLuaBindings.hpp index 8d1bda4..570d2d7 100644 --- a/source/game/scripting/StarRootLuaBindings.hpp +++ b/source/game/scripting/StarRootLuaBindings.hpp @@ -13,6 +13,8 @@ namespace LuaBindings { LuaCallbacks makeRootCallbacks(); namespace RootCallbacks { + StringList assetsByExtension(Root* root, String const& extension); + String assetData(Root* root, String const& path); Json assetJson(Root* root, String const& path); Json makeCurrentVersionedJson(Root* root, String const& identifier, Json const& content); Json loadVersionedJson(Root* root, Json const& versionedJson, String const& expectedIdentifier); |