UNPKG

@typed-tabletop-simulator/lib

Version:
28 lines (27 loc) 979 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.atSnapPoint = exports.snapPosition = void 0; const snapPosition = (object, index, height) => { const snapPoints = object.getSnapPoints(); const snapPoint = snapPoints[index - 1]; if (!snapPoint) { throw `The given object ${object.getGUID()} has no snap point ${index}`; } const position = object.positionToWorld(snapPoint.position); if (height) { position.setAt("y", height); } return position; }; exports.snapPosition = snapPosition; const atSnapPoint = (object, index) => { const position = (0, exports.snapPosition)(object, index); const hits = Physics.cast({ type: 3 /* CastType.Box */, origin: position.add(Vector(0, 0.5, 0)), size: [1, 1, 1], direction: [0, -1, 0], }); return hits.map((h) => h.hit_object).filter((o) => o !== object && o.interactable); }; exports.atSnapPoint = atSnapPoint;