@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
33 lines (32 loc) • 1.79 kB
TypeScript
import { BaseInputEventNodeType } from '../../../nodes/event/_BaseInput';
import { SceneEventsDispatcher } from './EventsDispatcher';
import { EventData } from '../../../../core/event/EventData';
import { CoreEventEmitter } from '../../../../core/event/CoreEventEmitter';
import { ActorEvaluatorGenerator } from '../../../nodes/js/code/assemblers/actor/ActorEvaluatorGenerator';
import type { EventContext } from '../../../../core/event/EventContextType';
export declare abstract class BaseSceneEventsController<E extends Event, T extends BaseInputEventNodeType> {
protected dispatcher: SceneEventsDispatcher;
private _activeEventDatas;
private _activeEventDataTypes;
protected _eventNodes: Set<T>;
protected _requireCanvasEventListeners: boolean;
protected _actorEvaluators: Set<ActorEvaluatorGenerator>;
protected _actorEvaluatorsByEventNames: Map<string, Map<CoreEventEmitter, Set<ActorEvaluatorGenerator>>>;
constructor(dispatcher: SceneEventsDispatcher);
registerEventNode(node: T): void;
unregisterEventNode(node: T): void;
registerEvaluatorGenerator(evaluator: ActorEvaluatorGenerator): void;
unregisterEvaluatorGenerator(evaluator: ActorEvaluatorGenerator): void;
private _updateActorEvaluatorCache;
abstract type(): string;
abstract acceptedEventTypes(): Set<string>;
processEvent(eventContext: EventContext<E>): void;
updateViewerEventListeners(): void;
activeEventDatas(): EventData[];
private _updateActiveEventTypes;
}
export type BaseSceneEventsControllerType = BaseSceneEventsController<Event, BaseInputEventNodeType>;
export declare class BaseSceneEventsControllerClass extends BaseSceneEventsController<Event, BaseInputEventNodeType> {
type(): string;
acceptedEventTypes(): Set<string>;
}