diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-06-20 14:33:09 +1000 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-06-20 14:33:09 +1000 |
commit | 6352e8e3196f78388b6c771073f9e03eaa612673 (patch) | |
tree | e23772f79a7fbc41bc9108951e9e136857484bf4 /source/game/scripting/StarMovementControllerLuaBindings.cpp | |
parent | 6741a057e5639280d85d0f88ba26f000baa58f61 (diff) |
everything everywhere
all at once
Diffstat (limited to 'source/game/scripting/StarMovementControllerLuaBindings.cpp')
-rw-r--r-- | source/game/scripting/StarMovementControllerLuaBindings.cpp | 83 |
1 files changed, 83 insertions, 0 deletions
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<void, Json>( + "applyParameters", bind(&MovementController::applyParameters, movementController, _1)); + callbacks.registerCallbackWithSignature<void, Json>( + "resetParameters", bind(&MovementController::resetParameters, movementController, _1)); + callbacks.registerCallbackWithSignature<float>("mass", bind(&MovementController::mass, movementController)); + callbacks.registerCallbackWithSignature<PolyF>( + "collisionPoly", bind(&MovementController::collisionPoly, movementController)); + callbacks.registerCallbackWithSignature<Vec2F>("position", bind(&MovementController::position, movementController)); + callbacks.registerCallbackWithSignature<float>("xPosition", bind(&MovementController::xPosition, movementController)); + callbacks.registerCallbackWithSignature<float>("yPosition", bind(&MovementController::yPosition, movementController)); + callbacks.registerCallbackWithSignature<Vec2F>("velocity", bind(&MovementController::velocity, movementController)); + callbacks.registerCallbackWithSignature<float>("xVelocity", bind(&MovementController::xVelocity, movementController)); + callbacks.registerCallbackWithSignature<float>("yVelocity", bind(&MovementController::yVelocity, movementController)); + callbacks.registerCallbackWithSignature<float>("rotation", bind(&MovementController::rotation, movementController)); + callbacks.registerCallbackWithSignature<PolyF>( + "collisionBody", bind(&MovementController::collisionBody, movementController)); + callbacks.registerCallbackWithSignature<RectF>( + "collisionBoundBox", bind(&MovementController::collisionBoundBox, movementController)); + callbacks.registerCallbackWithSignature<RectF>( + "localBoundBox", bind(&MovementController::localBoundBox, movementController)); + callbacks.registerCallbackWithSignature<bool>( + "isColliding", bind(&MovementController::isColliding, movementController)); + callbacks.registerCallbackWithSignature<bool>( + "isNullColliding", bind(&MovementController::isNullColliding, movementController)); + callbacks.registerCallbackWithSignature<bool>( + "isCollisionStuck", bind(&MovementController::isCollisionStuck, movementController)); + callbacks.registerCallbackWithSignature<Maybe<float>>( + "stickingDirection", bind(&MovementController::stickingDirection, movementController)); + callbacks.registerCallbackWithSignature<float>( + "liquidPercentage", bind(&MovementController::liquidPercentage, movementController)); + callbacks.registerCallbackWithSignature<LiquidId>( + "liquidId", bind(&MovementController::liquidId, movementController)); + callbacks.registerCallbackWithSignature<bool>("onGround", bind(&MovementController::onGround, movementController)); + callbacks.registerCallbackWithSignature<bool>("zeroG", bind(&MovementController::zeroG, movementController)); + callbacks.registerCallbackWithSignature<bool, bool>("atWorldLimit", bind(&MovementController::atWorldLimit, movementController, _1)); + callbacks.registerCallbackWithSignature<void, Vec2F>( + "setPosition", bind(&MovementController::setPosition, movementController, _1)); + callbacks.registerCallbackWithSignature<void, float>( + "setXPosition", bind(&MovementController::setXPosition, movementController, _1)); + callbacks.registerCallbackWithSignature<void, float>( + "setYPosition", bind(&MovementController::setYPosition, movementController, _1)); + callbacks.registerCallbackWithSignature<void, Vec2F>( + "translate", bind(&MovementController::translate, movementController, _1)); + callbacks.registerCallbackWithSignature<void, Vec2F>( + "setVelocity", bind(&MovementController::setVelocity, movementController, _1)); + callbacks.registerCallbackWithSignature<void, float>( + "setXVelocity", bind(&MovementController::setXVelocity, movementController, _1)); + callbacks.registerCallbackWithSignature<void, float>( + "setYVelocity", bind(&MovementController::setYVelocity, movementController, _1)); + callbacks.registerCallbackWithSignature<void, Vec2F>( + "addMomentum", bind(&MovementController::addMomentum, movementController, _1)); + callbacks.registerCallbackWithSignature<void, float>( + "setRotation", bind(&MovementController::setRotation, movementController, _1)); + callbacks.registerCallbackWithSignature<void, float>( + "rotate", bind(&MovementController::rotate, movementController, _1)); + callbacks.registerCallbackWithSignature<void, Vec2F>( + "accelerate", bind(&MovementController::accelerate, movementController, _1)); + callbacks.registerCallbackWithSignature<void, Vec2F>( + "force", bind(&MovementController::force, movementController, _1)); + callbacks.registerCallbackWithSignature<void, Vec2F, float>( + "approachVelocity", bind(&MovementController::approachVelocity, movementController, _1, _2)); + callbacks.registerCallbackWithSignature<void, float, float, float, bool>("approachVelocityAlongAngle", + bind(&MovementController::approachVelocityAlongAngle, movementController, _1, _2, _3, _4)); + callbacks.registerCallbackWithSignature<void, float, float>( + "approachXVelocity", bind(&MovementController::approachXVelocity, movementController, _1, _2)); + callbacks.registerCallbackWithSignature<void, float, float>( + "approachYVelocity", bind(&MovementController::approachYVelocity, movementController, _1, _2)); + + return callbacks; +} + +} |