reldens
Version:
Reldens - MMORPG Platform
42 lines (36 loc) • 1.38 kB
JavaScript
/**
*
* Reldens - EventsSubscriber
*
*/
const { ItemsDataGenerator, GroupsDataGenerator } = require('@reldens/items-system');
const { sc } = require('@reldens/utils');
class ServerSubscriber
{
static async initializeInventory(configProcessor, inventoryModelsManager)
{
if(!sc.hasOwn(configProcessor, 'inventory')){
configProcessor.inventory = {};
}
if(!sc.hasOwn(configProcessor.inventory, 'groups')){
configProcessor.inventory.groups = {
groupModels: [],
groupList: {},
groupBaseData: {}
};
}
configProcessor.inventory.items = ItemsDataGenerator.itemsListMappedData(
(configProcessor.getWithoutLogs('server/customClasses/inventory/items', {})),
await inventoryModelsManager.getEntity('item').loadAllWithRelations()
);
let groupsMappedData = GroupsDataGenerator.groupsListMappedData(
(configProcessor.getWithoutLogs('server/customClasses/inventory/groups', {})),
await inventoryModelsManager.getEntity('itemGroup').loadAll()
);
if(!groupsMappedData){
return;
}
Object.assign(configProcessor.inventory.groups, groupsMappedData);
}
}
module.exports.ServerSubscriber = ServerSubscriber;