UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

33 lines (32 loc) 1.79 kB
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>; }