From 3b40e89b3297a97a833711dbb77734b0412ac1d9 Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Thu, 7 Nov 2024 18:26:31 +1100 Subject: Add camera bindings override missing, but it's a start --- source/game/scripting/StarCameraLuaBindings.cpp | 31 +++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 source/game/scripting/StarCameraLuaBindings.cpp (limited to 'source/game/scripting/StarCameraLuaBindings.cpp') diff --git a/source/game/scripting/StarCameraLuaBindings.cpp b/source/game/scripting/StarCameraLuaBindings.cpp new file mode 100644 index 0000000..b7128ea --- /dev/null +++ b/source/game/scripting/StarCameraLuaBindings.cpp @@ -0,0 +1,31 @@ +#include "StarCameraLuaBindings.hpp" +#include "StarLuaConverters.hpp" +#include "StarWorldCamera.hpp" +#include "StarRoot.hpp" + +namespace Star { + +LuaCallbacks LuaBindings::makeCameraCallbacks(WorldCamera* camera) { + LuaCallbacks callbacks; + + callbacks.registerCallbackWithSignature("position", bind(&WorldCamera::centerWorldPosition, camera)); + callbacks.registerCallbackWithSignature("pixelRatio", bind(&WorldCamera::pixelRatio, camera)); + callbacks.registerCallback("setPixelRatio", [camera](float pixelRatio, Maybe smooth) { + if (smooth.value()) + camera->setTargetPixelRatio(pixelRatio); + else + camera->setPixelRatio(pixelRatio); + Root::singleton().configuration()->set("zoomLevel", pixelRatio); + }); + + callbacks.registerCallbackWithSignature("screenSize", bind(&WorldCamera::screenSize, camera)); + callbacks.registerCallbackWithSignature("worldScreenRect", bind(&WorldCamera::worldScreenRect, camera)); + callbacks.registerCallbackWithSignature("worldTileRect", bind(&WorldCamera::worldTileRect, camera)); + callbacks.registerCallbackWithSignature("tileMinScreen", bind(&WorldCamera::tileMinScreen, camera)); + callbacks.registerCallbackWithSignature("screenToWorld", bind(&WorldCamera::screenToWorld, camera, _1)); + callbacks.registerCallbackWithSignature("worldToScreen", bind(&WorldCamera::worldToScreen, camera, _1)); + + return callbacks; +} + +} -- cgit v1.2.3