mylingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
29 lines • 1.02 kB
JavaScript
import getWorldPosition from "../../display/utils/getWorldPosition";
import { vec2Point } from "../../display/utils/vec2Point";
import { scaleUp, scaleDown } from "../../engine/constants";
import EventLoopItem from "./EventLoopItem";
export default class PositionedItem extends EventLoopItem {
get x() {
return this.outerObject3d.position.x * scaleUp;
}
set x(val) {
this.outerObject3d.position.x = val * scaleDown;
}
get y() {
return this.outerObject3d.position.y * scaleUp;
}
set y(val) {
this.outerObject3d.position.y = val * scaleDown;
}
get z() {
return this.outerObject3d.position.z * scaleUp;
}
set z(val) {
this.outerObject3d.position.z = val * scaleDown;
}
getWorldPosition() {
return vec2Point(getWorldPosition(this.nativeObject3d));
}
}
export const isPositionedItem = (item) => item instanceof EventLoopItem && "x" in item;
//# sourceMappingURL=PositionedItem.js.map