UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

22 lines 2.63 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); 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2FjdGlvbi9jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3BDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUUvRCxNQUFNLFVBQVUsa0NBQWtDLENBQzlDLE1BQWlCLEVBQ2pCLFdBQW9DOztJQUVwQyxNQUFNLGtCQUFrQixHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDM0UsSUFBSSxPQUFPLFdBQVcsQ0FBQyxRQUFRLEtBQUssUUFBUTtRQUN4QyxrQkFBa0IsQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQTtJQUN0RCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFBO0lBQzdCLE1BQU0sT0FBTyxHQUFHLE1BQUEsV0FBVyxDQUFDLElBQUksbUNBQUksU0FBUyxDQUFBO0lBQzdDLE1BQU0sTUFBTSxHQUFHLG1DQUFtQyxDQUM5QyxNQUFNLENBQUMsT0FBTyxFQUNkLEVBQUUsRUFDRixrQkFBa0IsQ0FDckIsQ0FBQTtJQUNELE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFBO0lBQzNELE1BQU0sc0JBQXNCLEdBQ3hCLE1BQUEsV0FBVyxDQUFDLG1CQUFtQixtQ0FBSSxNQUFNLENBQUMsbUJBQW1CLENBQUE7SUFFakUsT0FBTyxDQUFDLENBQVMsRUFBRSxFQUFFO1FBQ2pCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNULElBQUksT0FBTyxXQUFXLENBQUMsbUJBQW1CLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEQsTUFBTSxDQUFDLG1CQUFtQixHQUFHLFVBQVUsQ0FDbkMsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixDQUFDLENBQ0osQ0FBQTtRQUNMLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ25ELENBQUMsQ0FBQTtBQUNMLENBQUMifQ==