@typed-tabletop-simulator/lib
Version:
Library with some helping modules for working with Tabletop Simulator
28 lines (27 loc) • 979 B
JavaScript
;
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;