From 6352e8e3196f78388b6c771073f9e03eaa612673 Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Tue, 20 Jun 2023 14:33:09 +1000 Subject: everything everywhere all at once --- .../StarMovementControllerLuaBindings.cpp | 83 ++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 source/game/scripting/StarMovementControllerLuaBindings.cpp (limited to 'source/game/scripting/StarMovementControllerLuaBindings.cpp') diff --git a/source/game/scripting/StarMovementControllerLuaBindings.cpp b/source/game/scripting/StarMovementControllerLuaBindings.cpp new file mode 100644 index 0000000..805e4be --- /dev/null +++ b/source/game/scripting/StarMovementControllerLuaBindings.cpp @@ -0,0 +1,83 @@ +#include "StarMovementControllerLuaBindings.hpp" +#include "StarMovementController.hpp" +#include "StarLuaGameConverters.hpp" + +namespace Star { + +LuaCallbacks LuaBindings::makeMovementControllerCallbacks(MovementController* movementController) { + LuaCallbacks callbacks; + + callbacks.registerCallback( + "parameters", [movementController]() { return movementController->parameters().toJson(); }); + callbacks.registerCallbackWithSignature( + "applyParameters", bind(&MovementController::applyParameters, movementController, _1)); + callbacks.registerCallbackWithSignature( + "resetParameters", bind(&MovementController::resetParameters, movementController, _1)); + callbacks.registerCallbackWithSignature("mass", bind(&MovementController::mass, movementController)); + callbacks.registerCallbackWithSignature( + "collisionPoly", bind(&MovementController::collisionPoly, movementController)); + callbacks.registerCallbackWithSignature("position", bind(&MovementController::position, movementController)); + callbacks.registerCallbackWithSignature("xPosition", bind(&MovementController::xPosition, movementController)); + callbacks.registerCallbackWithSignature("yPosition", bind(&MovementController::yPosition, movementController)); + callbacks.registerCallbackWithSignature("velocity", bind(&MovementController::velocity, movementController)); + callbacks.registerCallbackWithSignature("xVelocity", bind(&MovementController::xVelocity, movementController)); + callbacks.registerCallbackWithSignature("yVelocity", bind(&MovementController::yVelocity, movementController)); + callbacks.registerCallbackWithSignature("rotation", bind(&MovementController::rotation, movementController)); + callbacks.registerCallbackWithSignature( + "collisionBody", bind(&MovementController::collisionBody, movementController)); + callbacks.registerCallbackWithSignature( + "collisionBoundBox", bind(&MovementController::collisionBoundBox, movementController)); + callbacks.registerCallbackWithSignature( + "localBoundBox", bind(&MovementController::localBoundBox, movementController)); + callbacks.registerCallbackWithSignature( + "isColliding", bind(&MovementController::isColliding, movementController)); + callbacks.registerCallbackWithSignature( + "isNullColliding", bind(&MovementController::isNullColliding, movementController)); + callbacks.registerCallbackWithSignature( + "isCollisionStuck", bind(&MovementController::isCollisionStuck, movementController)); + callbacks.registerCallbackWithSignature>( + "stickingDirection", bind(&MovementController::stickingDirection, movementController)); + callbacks.registerCallbackWithSignature( + "liquidPercentage", bind(&MovementController::liquidPercentage, movementController)); + callbacks.registerCallbackWithSignature( + "liquidId", bind(&MovementController::liquidId, movementController)); + callbacks.registerCallbackWithSignature("onGround", bind(&MovementController::onGround, movementController)); + callbacks.registerCallbackWithSignature("zeroG", bind(&MovementController::zeroG, movementController)); + callbacks.registerCallbackWithSignature("atWorldLimit", bind(&MovementController::atWorldLimit, movementController, _1)); + callbacks.registerCallbackWithSignature( + "setPosition", bind(&MovementController::setPosition, movementController, _1)); + callbacks.registerCallbackWithSignature( + "setXPosition", bind(&MovementController::setXPosition, movementController, _1)); + callbacks.registerCallbackWithSignature( + "setYPosition", bind(&MovementController::setYPosition, movementController, _1)); + callbacks.registerCallbackWithSignature( + "translate", bind(&MovementController::translate, movementController, _1)); + callbacks.registerCallbackWithSignature( + "setVelocity", bind(&MovementController::setVelocity, movementController, _1)); + callbacks.registerCallbackWithSignature( + "setXVelocity", bind(&MovementController::setXVelocity, movementController, _1)); + callbacks.registerCallbackWithSignature( + "setYVelocity", bind(&MovementController::setYVelocity, movementController, _1)); + callbacks.registerCallbackWithSignature( + "addMomentum", bind(&MovementController::addMomentum, movementController, _1)); + callbacks.registerCallbackWithSignature( + "setRotation", bind(&MovementController::setRotation, movementController, _1)); + callbacks.registerCallbackWithSignature( + "rotate", bind(&MovementController::rotate, movementController, _1)); + callbacks.registerCallbackWithSignature( + "accelerate", bind(&MovementController::accelerate, movementController, _1)); + callbacks.registerCallbackWithSignature( + "force", bind(&MovementController::force, movementController, _1)); + callbacks.registerCallbackWithSignature( + "approachVelocity", bind(&MovementController::approachVelocity, movementController, _1, _2)); + callbacks.registerCallbackWithSignature("approachVelocityAlongAngle", + bind(&MovementController::approachVelocityAlongAngle, movementController, _1, _2, _3, _4)); + callbacks.registerCallbackWithSignature( + "approachXVelocity", bind(&MovementController::approachXVelocity, movementController, _1, _2)); + callbacks.registerCallbackWithSignature( + "approachYVelocity", bind(&MovementController::approachYVelocity, movementController, _1, _2)); + + return callbacks; +} + +} -- cgit v1.2.3