最新代码
This commit is contained in:
54
public/sdk/three/jsm/renderers/common/DataMap.js
Normal file
54
public/sdk/three/jsm/renderers/common/DataMap.js
Normal file
@ -0,0 +1,54 @@
|
||||
class DataMap {
|
||||
|
||||
constructor() {
|
||||
|
||||
this.data = new WeakMap();
|
||||
|
||||
}
|
||||
|
||||
get( object ) {
|
||||
|
||||
let map = this.data.get( object );
|
||||
|
||||
if ( map === undefined ) {
|
||||
|
||||
map = {};
|
||||
this.data.set( object, map );
|
||||
|
||||
}
|
||||
|
||||
return map;
|
||||
|
||||
}
|
||||
|
||||
delete( object ) {
|
||||
|
||||
let map;
|
||||
|
||||
if ( this.data.has( object ) ) {
|
||||
|
||||
map = this.data.get( object );
|
||||
|
||||
this.data.delete( object );
|
||||
|
||||
}
|
||||
|
||||
return map;
|
||||
|
||||
}
|
||||
|
||||
has( object ) {
|
||||
|
||||
return this.data.has( object );
|
||||
|
||||
}
|
||||
|
||||
dispose() {
|
||||
|
||||
this.data = new WeakMap();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default DataMap;
|
Reference in New Issue
Block a user