import { StateEvent, WorksEvent, ModelEvent, ModelSceneEvent, ModelTileEvent, ModeChangeEvent, PanoEvent, RenderEvent, ObjectEvent, NetworkResourceEvent } from "../utils/event"; import type { ControllerEventTypes } from "../controllers/events"; import type { LegacyEventType } from "./events-legacy"; declare const PROXY_CONTROLLER_EVENT_NAMES: readonly ["gesture.pan", "gesture.tap", "gesture.dbltap", "gesture.press", "gesture.pinch", "gesture.mousewheel", "gesture.mousemove", "gesture.momentum", "gesture.fire", "initAnimation.start", "initAnimation.end", "camera.update", "intersect.update", "pano.select", "pano.moveTo", "pano.moving", "pano.arrived", "pano.cancel", "pano.error", "pano.prepare", "pano.texture.load", "pano.texture.progress", "pano.texture.success", "pano.texture.error", "pano.texture.abort", "xr.session.start", "xr.session.end", "xr.gesture.tap", "xr.gesture.press", "xr.gesture.buttonUp", "xr.gesture.buttonDown", "xr.controller.update"]; /** * Five 事件列表 * @description * 具体事件列表 请查看 {@link EventCallback} */ type EventTypes = Pick & LegacyEventType & { /** 请求点位 */ "pano.request"(event: PanoEvent): void; /** 内部错误 */ "error"(error: Error): void; /** 请求 work数据 */ "works.request"(event: WorksEvent): void; /** 加载 work */ "works.load"(event: WorksEvent): void; /** 加载 work 并 controller ready */ "works.ready"(event: WorksEvent): void; /** 设置 state */ "state.set"(event: StateEvent): void; /** 当 state 变化 */ "state.change"(event: StateEvent): void; /** 当 state 同步完成 */ "state.synced"(event: StateEvent): void; /** 当前 state 变化 */ "currentState.change"(event: StateEvent): void; /** 当模型加载 */ "model.request"(event: ModelEvent): void; /** 当模型修改楼层 */ "model.load"(event: ModelEvent): void; /** 当模型错误 */ "model.error"(event: ModelEvent): void; /** 当模型修改楼层 */ "model.changeShownFloor"(event: ModelEvent): void; /** 模型加载完成 */ "models.load"(event: ModelSceneEvent): void; /** 模型细化完成 */ "models.refined"(event: ModelSceneEvent): void; /** 模型加载完成 */ "models.tileLoad"(event: ModelTileEvent): void; /** 模型加载完成 */ "models.tileUnload"(event: ModelTileEvent): void; /** 渲染前 */ "render.prepare"(event: RenderEvent): void; /** 渲染后 */ "render"(event: RenderEvent): void; /** 请求改变 mode */ "mode.change.request"(event: ModeChangeEvent): void; /** 改变 mode */ "mode.change"(event: ModeChangeEvent): void; /** 改变 helpers 元素可见 */ "helpers.visible"(event: ObjectEvent): void; /** 网络资源 */ "network.resource"(event: NetworkResourceEvent): void; /** 当前 fps 变化 */ "fps"(fps: number): void; /** five 被析构。 插件中请监听用于自身析构 */ "dispose"(): void; }; /** * Five 事件列表 * @description * 可以通过 `five.on(METHOD_NAME, METHOD)` 调用 */ interface EventCallback extends EventTypes { } export { PROXY_CONTROLLER_EVENT_NAMES, ControllerEventTypes, EventTypes, EventCallback, };