@needle-tools/engine
Version:
Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in
38 lines (37 loc) • 1.21 kB
TypeScript
import { Object3D } from "three";
import { Behaviour } from "./Component.js";
import { EventList } from "./EventList.js";
/**
* @category Interactivity
* @group Components
*/
export declare class SpatialTriggerReceiver extends Behaviour {
triggerMask: number;
onEnter?: EventList<any>;
onStay?: EventList<any>;
onExit?: EventList<any>;
start(): void;
update(): void;
currentIntersected: SpatialTrigger[];
lastIntersected: SpatialTrigger[];
onEnterTrigger(trigger: SpatialTrigger): void;
onExitTrigger(trigger: SpatialTrigger): void;
onStayTrigger(trigger: SpatialTrigger): void;
}
/**
* A trigger that can be used to detect if an object is inside a box.
* @category Interactivity
* @group Components
*/
export declare class SpatialTrigger extends Behaviour {
static triggers: SpatialTrigger[];
triggerMask?: number;
private boxHelper?;
start(): void;
onEnable(): void;
onDisable(): void;
test(obj: Object3D): boolean;
raiseOnEnterEvent(rec: SpatialTriggerReceiver): void;
raiseOnStayEvent(rec: SpatialTriggerReceiver): void;
raiseOnExitEvent(rec: SpatialTriggerReceiver): void;
}