From 3aa45ab7995c000432bba8ee1335ff7db923ac41 Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Thu, 20 Jul 2023 12:52:08 +1000 Subject: Add voice muting, add input key and mouse functions --- source/game/scripting/StarInputLuaBindings.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'source/game/scripting/StarInputLuaBindings.cpp') diff --git a/source/game/scripting/StarInputLuaBindings.cpp b/source/game/scripting/StarInputLuaBindings.cpp index 5195e31..9f58a40 100644 --- a/source/game/scripting/StarInputLuaBindings.cpp +++ b/source/game/scripting/StarInputLuaBindings.cpp @@ -13,6 +13,23 @@ LuaCallbacks LuaBindings::makeInputCallbacks() { callbacks.registerCallbackWithSignature("bindHeld", bind(mem_fn(&Input::bindHeld), input, _1, _2)); callbacks.registerCallbackWithSignature, String, String>("bindUp", bind(mem_fn(&Input::bindUp), input, _1, _2)); + callbacks.registerCallback("keyDown", [input](String const& keyName, Maybe& const modNames) -> Maybe { + Key key = KeyNames.getLeft(keyName); + Maybe mod; + if (modNames) { + mod = KeyMod::NoMod; + for (auto& modName : *modNames) + *mod |= KeyModNames.getLeft(modName); + } + return input->keyDown(key, mod); + }); + callbacks.registerCallback("keyHeld", [input](String const& keyName) -> bool { return input->keyHeld(KeyNames.getLeft(keyName)); }); + callbacks.registerCallback("keyUp", [input](String const& keyName) -> Maybe { return input->keyUp( KeyNames.getLeft(keyName)); }); + + callbacks.registerCallback("mouseDown", [input](String const& buttonName) -> Maybe> { return input->mouseDown(MouseButtonNames.getLeft(buttonName)); }); + callbacks.registerCallback("mouseHeld", [input](String const& buttonName) -> bool { return input->mouseHeld(MouseButtonNames.getLeft(buttonName)); }); + callbacks.registerCallback("mouseUp", [input](String const& buttonName) -> Maybe> { return input->mouseUp( MouseButtonNames.getLeft(buttonName)); }); + callbacks.registerCallbackWithSignature("resetBinds", bind(mem_fn(&Input::resetBinds), input, _1, _2)); callbacks.registerCallbackWithSignature("setBinds", bind(mem_fn(&Input::setBinds), input, _1, _2, _3)); callbacks.registerCallbackWithSignature("getDefaultBinds", bind(mem_fn(&Input::getDefaultBinds), input, _1, _2)); -- cgit v1.2.3