#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; } }