diff --git a/libraries/voxels/src/VoxelEditPacketSender.cpp b/libraries/voxels/src/VoxelEditPacketSender.cpp index 1832d5436e..b4de63b302 100644 --- a/libraries/voxels/src/VoxelEditPacketSender.cpp +++ b/libraries/voxels/src/VoxelEditPacketSender.cpp @@ -142,3 +142,26 @@ void VoxelEditPacketSender::queueVoxelEditMessages(PacketType type, int numberOf } } } + +void VoxelEditPacketSender::updateVoxelCosts(const QJsonObject& domainSettingsObject) { + + // from the domain-handler, figure out the satoshi cost per voxel and per meter cubed + const QString VOXEL_SETTINGS_KEY = "voxels"; + const QString PER_VOXEL_COST_KEY = "per-voxel-credits"; + const QString PER_METER_CUBED_COST_KEY = "per-meter-cubed-credits"; + + if (!domainSettingsObject.isEmpty()) { + float perVoxelCredits = (float) domainSettingsObject[VOXEL_SETTINGS_KEY].toObject()[PER_VOXEL_COST_KEY].toDouble(); + float perMeterCubedCredits = (float) domainSettingsObject[VOXEL_SETTINGS_KEY].toObject()[PER_METER_CUBED_COST_KEY].toDouble(); + + qDebug() << "PV: " << perVoxelCredits << "PMC: " << perMeterCubedCredits; + } else { + qDebug() << "CALLED WITH EMPTY SETTINGS!"; + _satoshisPerVoxel = 0; + _satoshisPerMeterCubed = 0; + } +} + +qint64 VoxelEditPacketSender::satoshiCostForMessage(PacketType type, int numberOfDetails, VoxelDetail *details) { + return 0; +} diff --git a/libraries/voxels/src/VoxelEditPacketSender.h b/libraries/voxels/src/VoxelEditPacketSender.h index 3ef257de6c..33382d7faf 100644 --- a/libraries/voxels/src/VoxelEditPacketSender.h +++ b/libraries/voxels/src/VoxelEditPacketSender.h @@ -15,6 +15,7 @@ #define hifi_VoxelEditPacketSender_h #include + #include "VoxelDetail.h" /// Utility for processing, packing, queueing and sending of outbound edit voxel messages. @@ -49,5 +50,20 @@ public: // My server type is the voxel server virtual char getMyNodeType() const { return NodeType::VoxelServer; } + + qint64 satoshiCostForMessage(PacketType type, int numberOfDetails, VoxelDetail* details); + + void setSatoshisPerVoxel(qint64 satoshisPerVoxel) { _satoshisPerVoxel = satoshisPerVoxel; } + qint64 getSatoshisPerVoxel() const { return _satoshisPerVoxel; } + + void setSatoshisPerMeterCubed(qint64 satoshisPerMeterCubed) { _satoshisPerMeterCubed = satoshisPerMeterCubed; } + qint64 getSatoshisPerMeterCubed() const { return _satoshisPerMeterCubed; } + +public slots: + void updateVoxelCosts(const QJsonObject& domainSettingsObject); + +private: + qint64 _satoshisPerVoxel; + qint64 _satoshisPerMeterCubed; }; #endif // hifi_VoxelEditPacketSender_h