mylingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
56 lines (55 loc) • 2.85 kB
TypeScript
import { Point3d } from "@lincode/math";
import { Object3D } from "three";
import ISimpleObjectManager, { OnIntersectValue } from "../../../interface/ISimpleObjectManager";
import PositionedItem from "../../../api/core/PositionedItem";
import StaticObjectManager from "../StaticObjectManager";
import { Cancellable } from "@lincode/promiselikes";
import MeshItem from "../MeshItem";
import AnimatedObjectManager from "../AnimatedObjectManager";
import Nullable from "../../../interface/utils/Nullable";
import SpawnPoint from "../../SpawnPoint";
declare class SimpleObjectManager<T extends Object3D = Object3D> extends AnimatedObjectManager<T> implements ISimpleObjectManager {
getRayIntersectionsAt(id: string, maxDistance?: number): [StaticObjectManager<Object3D<import("three").Event>>, Point3d][];
getRayIntersections(id: string, maxDistance?: number): StaticObjectManager<Object3D<import("three").Event>>[];
listenToRayIntersection(id: string, cb: (target: StaticObjectManager, pt: Point3d) => void, maxDistance?: number): Cancellable;
getIntersections(id: string): StaticObjectManager<Object3D<import("three").Event>>[];
listenToIntersection(id: string, cb?: OnIntersectValue, cbOut?: OnIntersectValue): Cancellable;
private onIntersectState?;
private onIntersectOutState?;
private intersectIdsState?;
private initIntersect;
get onIntersect(): OnIntersectValue | undefined;
set onIntersect(val: OnIntersectValue | undefined);
get onIntersectOut(): OnIntersectValue | undefined;
set onIntersectOut(val: OnIntersectValue | undefined);
get intersectIds(): string[] | undefined;
set intersectIds(val: string[] | undefined);
get scaleX(): number;
set scaleX(val: number);
get scaleY(): number;
set scaleY(val: number);
get scaleZ(): number;
set scaleZ(val: number);
get scale(): number;
set scale(val: number);
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);
translateX(val: number): void;
translateY(val: number): void;
translateZ(val: number): void;
placeAt(object: MeshItem | Point3d | SpawnPoint | string): void;
moveForward(distance: number): void;
moveRight(distance: number): void;
onMoveToEnd: Nullable<() => void>;
lerpTo(x: number, y: number, z: number, alpha: number, onFrame?: () => void): void;
moveTo(x: number, y: number | undefined, z: number, speed: number, onFrame?: (y?: number) => void): void;
}
interface SimpleObjectManager<T extends Object3D = Object3D> extends AnimatedObjectManager<T>, PositionedItem<T> {
}
export default SimpleObjectManager;