32 lines
767 B
JavaScript
32 lines
767 B
JavaScript
const services = {};
|
|
|
|
function add(clsNames, modName) {
|
|
const modClass = require('./' + modName);
|
|
clsNames.forEach((clsName) => {
|
|
services[clsName] = {
|
|
'clsName': clsName,
|
|
'modName': modName,
|
|
'class': modClass
|
|
}
|
|
});
|
|
}
|
|
|
|
function init() {
|
|
add(['Present'], 'present');
|
|
add(['EventCenter'], 'event_center');
|
|
add(['ExecConfirmOwner'], 'exec_confirm_owner');
|
|
add(['EventProcess'], 'event_process');
|
|
add(['BoxOpenedProcess'], 'boxopened_process');
|
|
add(['NftTransferProcess'], 'nft_transfer_process');
|
|
create('Present', null).init();
|
|
create('EventCenter', null).init();
|
|
}
|
|
|
|
function create(name, session) {
|
|
const module = services[name];
|
|
return new module['class'](session);
|
|
}
|
|
|
|
exports.init = init;
|
|
exports.create = create;
|