@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
45 lines (44 loc) • 2.47 kB
TypeScript
import { PolyScene } from '../../PolyScene';
import { BaseInputEventNodeType } from '../../../nodes/event/_BaseInput';
import { BaseSceneEventsController } from './_BaseEventsController';
import { SceneEventsController } from './SceneEventsController';
import { DragEventsController } from './DragEventsController';
import { KeyboardEventsController } from './KeyboardEventsController';
import { MouseEventsController } from './MouseEventsController';
import { PointerEventsController } from './PointerEventsController';
import { WindowEventsController } from './WindowEventsController';
import { TouchEventsController } from './TouchEventsController';
import { SceneConnectionTriggerDispatcher } from './ConnectionTriggerDispatcher';
import { Raycaster } from 'three';
import { ActorEvaluatorGenerator } from '../../../nodes/js/code/assemblers/actor/ActorEvaluatorGenerator';
export declare class SceneEventsDispatcher {
scene: PolyScene;
private _controllers;
readonly sceneEventsController: SceneEventsController;
private _keyboardEventsController?;
private _mouseEventsController?;
private _dragEventsController?;
private _windowEventsController?;
private _touchEventsController?;
readonly pointerEventsController: PointerEventsController;
constructor(scene: PolyScene);
registerEvaluatorGenerator(evaluatorGenerator: ActorEvaluatorGenerator): void;
unregisterEvaluatorGenerator(evaluatorGenerator: ActorEvaluatorGenerator): void;
registerEventNode(node: BaseInputEventNodeType): void;
unregisterEventNode(node: BaseInputEventNodeType): void;
updateViewerEventListeners(node: BaseInputEventNodeType): void;
traverseControllers(callback: (controller: BaseSceneEventsController<Event, BaseInputEventNodeType>) => void): void;
setRaycaster(raycaster: Raycaster): void;
private _findOrCreateControllerForEventNode;
private _findOrCreateControllerForEvaluator;
private _findOrCreateControllerForEventInputType;
private _findOrCreateControllerForJsType;
get keyboardEventsController(): KeyboardEventsController;
get mouseEventsController(): MouseEventsController;
get dragEventsController(): DragEventsController;
get windowEventsController(): WindowEventsController;
get touchEventsController(): TouchEventsController;
private _createController;
private _connectionTriggerDispatcher;
get connectionTriggerDispatcher(): SceneConnectionTriggerDispatcher;
}