reldens
Version:
Reldens - MMORPG Platform
44 lines (38 loc) • 1.31 kB
JavaScript
/**
*
* Reldens - RewardsDropsMapper
*
* Maps reward objects to client-ready drop message data format for network transmission.
*
*/
const { ObjectsConst } = require('../../objects/constants');
const { Logger } = require('@reldens/utils');
class RewardsDropsMapper
{
/**
* @param {Array<Object>} rewards
* @returns {Object}
*/
static mapDropsData(rewards)
{
let messageData = {
[]: {}
};
for(let reward of rewards){
if(!reward.randomObjectId){
Logger.debug('Reward does not have an object ID.', reward);
continue;
}
messageData[ObjectsConst.DROPS.KEY][reward.randomObjectId + reward.tileIndex] = {
[]: reward.animationData.assetType,
[]: reward.animationData.assetKey,
[]: reward.animationData.file,
[]: reward.animationData.extraParams,
x: reward.objectPosition.x,
y: reward.objectPosition.y
};
}
return messageData;
}
}
module.exports.RewardsDropsMapper = RewardsDropsMapper;