UNPKG

lingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

70 lines (69 loc) 2.93 kB
import { Object3D, Quaternion, Vector3 } from "three"; import IMeshAppendable from "../../interface/IMeshAppendable"; import Appendable from "./Appendable"; import SpawnPoint from "../SpawnPoint"; import Nullable from "../../interface/utils/Nullable"; import PhysicsObjectManager from "./PhysicsObjectManager"; import Point3d from "../../math/Point3d"; import { Point3dType } from "../../utils/isPoint"; export default class MeshAppendable<T extends Object3D = Object3D> extends Appendable implements IMeshAppendable { outerObject3d: T; object3d: T; position: Vector3; quaternion: Quaternion; userData: Record<string, any>; constructor(outerObject3d?: T); parent?: MeshAppendable; children?: Set<Appendable | MeshAppendable>; traverse: (cb: (appendable: Appendable | MeshAppendable) => void) => void; traverseSome: (cb: (appendable: Appendable | MeshAppendable) => unknown) => boolean; append(child: Appendable | MeshAppendable): void; attach(child: Appendable | MeshAppendable): void; protected disposeNode(): void; get name(): string | undefined; set name(val: string | undefined); get x(): number; set x(val: number); get y(): number; set y(val: number); get z(): number; set z(val: number); getWorldPosition(): Point3d; getCenter(): Point3d; getWorldDirection(): Vector3; getProjectedPosition(): import("three").Vector2; private _onMove?; get onMove(): (() => void) | undefined; set onMove(cb: (() => void) | undefined); translateX(val: number): void; translateY(val: number): void; translateZ(val: number): void; rotateX(val: number): void; rotateY(val: number): void; rotateZ(val: number): void; setRotationFromDirection(direction: Point3dType): void; placeAt(target: MeshAppendable | Point3dType | SpawnPoint | string): void; moveForward(distance: number): void; moveRight(distance: number): void; onMoveToEnd: Nullable<() => void>; lerpTo(x: number, y: number, z: number, alpha?: number): void; moveTo(x: number, y: number | undefined, z: number, speed?: number): void; protected getRay(): import("three").Ray; pointAt(distance: number): Point3d; get rotationX(): number; set rotationX(val: number); get rotationY(): number; set rotationY(val: number); get rotationZ(): number; set rotationZ(val: number); get rotation(): number; set rotation(val: number); lookAt(target: MeshAppendable | Point3dType): void; lookAt(x: number, y: number | undefined, z: number): void; onLookToEnd: (() => void) | undefined; lookTo(target: MeshAppendable | Point3dType, alpha?: number): void; lookTo(x: number, y: number | undefined, z: number, alpha?: number): void; private queryRadius?; private querySphere?; queryNearby(radius: number): PhysicsObjectManager<Object3D<import("three").Event>>[]; }