import { Object3D } from 'three'; /** * 系统核心处理 * * 【事件触发、注册模块】 * 全局共享同一个 r3d * @class R3D */ export class R3D { register(moduleKey: String, module: any): void; getModule(moduleKey: String): Object; /** * 添加到缓存 * @param fac * @param alias */ factoryIn(fac, alias): void; getFactory(name: String): Object; addPivots(pivots: any): void; /** * 通用触发事件 * @param args */ dispatchEvent(args: any): void; /** * 绑定事件 * @param eventType 事件名称 * @param handler 事件触发的回调函数 * @param once 是否是一次性事件 * @param userData 用户数据 * @param tag 事件别名 * @param priority 事件优先级 */ on(eventType: String, handler: Function, once: Boolean, userData: Object|String, tag: String, priority: Number): void; /** * 解绑事件 * @param eventType 事件名称 * @param handler 事件触发的回调函数,或者事件别名 */ off(eventType: String, handler: Function): void; /** * 绑定事件(只触发一次) * @param eventType 事件名称 * @param handler 事件触发的回调函数 * @param userData 用户数据 * @param tag 事件别名 * @param priority 事件优先级 */ one(eventType: String, handler: Function, userData: Object|String, tag: String, priority: Number): void; /** * 发送事件 * @param eventType 事件名称 * @param ev 事件信息 * @param oldEv */ trigger(eventType: String, ev: Object, oldEv: Object): void; onObj(type: String, objs: Object3D, listener: Function, tag: String, priority: Number, userData: Object|String): void; oneObj(type: String, objs: Object3D, listener: Function, tag: String, priority: Number, userData: Object|String): void; offObj(type: String, listener: Function, objs: Object3D): void; triggerObj(type: String, evt: Object, objs: Object3D): void; calcRect(): { width, height }; /** * 触发所有obj加载完成事件 * @param data */ onLoadObjAllDone(data: {}): void; /** * 判断坐标是否在屏幕内 * @param pos */ isInScreen(pos: Array): Boolean; resize(): void; addControl(ctl, name): void; delControl(ctlKeyOrCtl): void; /** * 获取控件 * @param name */ getControl(name): Object; /** * 更新控制器 * @param deltaTime */ updateControls(deltaTime: Number): void; /** * 绑定 pivot 事件 * @param key * @param handler */ bindPivot(key, handler): void; getPivot(key): Object; destroy(): void; } const r3d = new R3D(); export default r3d;