37 lines
1018 B
JavaScript
37 lines
1018 B
JavaScript
console.loggerName = 'js.equipmentMgr';
|
|
console.log('Load equipmentMgr');
|
|
|
|
const {
|
|
equipment,
|
|
lib,
|
|
timer,
|
|
watch
|
|
} = require('../utils');
|
|
|
|
|
|
const eMgr = new Object();
|
|
|
|
for (let equipmentItem of items.getItems().filter(element => { return (element.semantics.isEquipment == true) && (element.semantics.equipment == null) })) {
|
|
// Fetch equipment type
|
|
let equipmentType = equipmentItem.tags.filter(element => Object.keys(equipment).includes(element));
|
|
if (equipmentType.length > 1) {
|
|
equipmentType.splice(equipmentType.indexOf('Equipment'), 1);
|
|
}
|
|
|
|
// Initialize equipment class
|
|
try {
|
|
eMgr[equipmentItem.name] = new equipment[equipmentType](equipmentItem);
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
}
|
|
|
|
cache.shared.put('eMgr', eMgr);
|
|
|
|
require('@runtime').lifecycleTracker.addDisposeHook(() => {
|
|
console.log('Deinitialization of equipmentMgr');
|
|
|
|
for (let equipmentItemName of Object.keys(eMgr)) {
|
|
eMgr[equipmentItemName].gc();
|
|
}
|
|
}); |