32 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
console.loggerName = 'js.equipmentMgr';
 | 
						|
console.log('Load equipmentMgr');
 | 
						|
 | 
						|
const {
 | 
						|
    equipment,
 | 
						|
    watch
 | 
						|
} = require('../utils');
 | 
						|
 | 
						|
 | 
						|
const eMgr = new Object();
 | 
						|
 | 
						|
for (let equipmentItem of items.getItems().filter(element => { return element.semantics.isEquipment })) {
 | 
						|
//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
 | 
						|
    eMgr[equipmentItem.name] = new equipment[equipmentType](equipmentItem);
 | 
						|
}
 | 
						|
 | 
						|
cache.shared.put('eMgr', eMgr);
 | 
						|
 | 
						|
require('@runtime').lifecycleTracker.addDisposeHook(() => {
 | 
						|
    console.log('Deinitialization of equipmentMgr');
 | 
						|
 | 
						|
    for (let equipmentItemName of Object.keys(eMgr)) {
 | 
						|
        eMgr[equipmentItemName].gc();
 | 
						|
    }
 | 
						|
}); |