UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

23 lines 2.68 kB
import { TgdTransfo } from "./../../math/index.js"; import { tgdCalcMix } from "../math.js"; import { tgdActionCreateTransfoInterpolation } from "./transfo.js"; export function tgdActionCreateCameraInterpolation(camera, destination) { var _a, _b; const transfoDestination = new TgdTransfo(camera.transfo).from(destination); transfoDestination.debug(); if (typeof destination.distance === "number") transfoDestination.distance = destination.distance; const beginZoom = camera.zoom; const endZoom = (_a = destination.zoom) !== null && _a !== void 0 ? _a : beginZoom; const action = tgdActionCreateTransfoInterpolation(camera.transfo, transfoDestination); const beginSpaceHeightAtTarget = camera.spaceHeightAtTarget; const endSpaceHeightAtTarget = (_b = destination.spaceHeightAtTarget) !== null && _b !== void 0 ? _b : camera.spaceHeightAtTarget; return (t) => { action(t); if (typeof destination.spaceHeightAtTarget === "number") { camera.spaceHeightAtTarget = tgdCalcMix(beginSpaceHeightAtTarget, endSpaceHeightAtTarget, t); } camera.zoom = tgdCalcMix(beginZoom, endZoom, t); }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2FjdGlvbi9jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3BDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUUvRCxNQUFNLFVBQVUsa0NBQWtDLENBQzlDLE1BQWlCLEVBQ2pCLFdBQW9DOztJQUVwQyxNQUFNLGtCQUFrQixHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDM0Usa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDMUIsSUFBSSxPQUFPLFdBQVcsQ0FBQyxRQUFRLEtBQUssUUFBUTtRQUN4QyxrQkFBa0IsQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQTtJQUN0RCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFBO0lBQzdCLE1BQU0sT0FBTyxHQUFHLE1BQUEsV0FBVyxDQUFDLElBQUksbUNBQUksU0FBUyxDQUFBO0lBQzdDLE1BQU0sTUFBTSxHQUFHLG1DQUFtQyxDQUM5QyxNQUFNLENBQUMsT0FBTyxFQUNkLGtCQUFrQixDQUNyQixDQUFBO0lBQ0QsTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUE7SUFDM0QsTUFBTSxzQkFBc0IsR0FDeEIsTUFBQSxXQUFXLENBQUMsbUJBQW1CLG1DQUFJLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQTtJQUVqRSxPQUFPLENBQUMsQ0FBUyxFQUFFLEVBQUU7UUFDakIsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ1QsSUFBSSxPQUFPLFdBQVcsQ0FBQyxtQkFBbUIsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN0RCxNQUFNLENBQUMsbUJBQW1CLEdBQUcsVUFBVSxDQUNuQyx3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLENBQUMsQ0FDSixDQUFBO1FBQ0wsQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDbkQsQ0FBQyxDQUFBO0FBQ0wsQ0FBQyJ9