吉安感知网项目-前端
chenyao
yesterday c567cbca3b78a7e06a827acbab56a46657e31aa1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
export class ToolBase {
    constructor(viewer) {
        this.viewer = viewer
        this.handler = null
        this.listeners = []
    }
 
    subscribe(key, listener) {
        this.listeners.push({ key, listener })
    }
 
    notify(key, data) {
        this.listeners.filter(item => item.key === key).forEach(item => item.listener(data))
    }
 
    removeHandler(types) {
        if (!this.handler) return
        if (types?.length) {
            types.forEach(type => this.handler.removeInputAction(type))
        }
        this.handler.destroy()
        this.handler = null
    }
}