@realsee/five
Version:
Realsee Renderer SDK
70 lines (69 loc) • 3.31 kB
TypeScript
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<ControllerEventTypes, typeof PROXY_CONTROLLER_EVENT_NAMES[number]> & 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, };