remove use of loops in protocol

This commit is contained in:
2022-06-29 12:42:21 +02:00
parent ed481de03e
commit ef9712629f

View File

@@ -331,8 +331,8 @@ DataBuffer PlayerListPacket::Serialize(bool packetID) const {
WritePacketID(data, packetID); WritePacketID(data, packetID);
data << static_cast<std::uint8_t>(m_Players.size()); data << static_cast<std::uint8_t>(m_Players.size());
for (auto pair : m_Players) { for (auto [playerID, playerInfo] : m_Players) {
data << pair.first << pair.second.name << pair.second.team; data << playerID << playerInfo.name << playerInfo.team;
} }
return data; return data;
} }
@@ -488,20 +488,18 @@ DataBuffer SendMobsPacket::Serialize(bool packetID) const {
WritePacketID(data, packetID); WritePacketID(data, packetID);
data << static_cast<std::uint8_t>(m_MobSends.size()); data << static_cast<std::uint8_t>(m_MobSends.size());
for (const MobSend& mobSend : m_MobSends) {
data << mobSend; data.WriteSome(reinterpret_cast<const std::uint8_t*>(m_MobSends.data()), m_MobSends.size() * sizeof(m_MobSends));
}
return data; return data;
} }
void SendMobsPacket::Deserialize(DataBuffer& data) { void SendMobsPacket::Deserialize(DataBuffer& data) {
std::uint8_t mobSendCount; std::uint8_t mobSendCount;
data >> mobSendCount; data >> mobSendCount;
protocol::MobSend mobSend;
for (int i = 0; i < mobSendCount; i++) { m_MobSends.resize(mobSendCount);
data >> mobSend; data.ReadSome(reinterpret_cast<std::uint8_t*>(m_MobSends.data()), mobSendCount * sizeof(MobSend));
m_MobSends.push_back(mobSend);
}
} }
DataBuffer UpgradeTowerPacket::Serialize(bool packetID) const { DataBuffer UpgradeTowerPacket::Serialize(bool packetID) const {
@@ -533,9 +531,8 @@ DataBuffer UpdateMobStatesPacket::Serialize(bool packetID) const {
WritePacketID(data, packetID); WritePacketID(data, packetID);
data << static_cast<std::uint64_t>(m_MobStates.size()); data << static_cast<std::uint64_t>(m_MobStates.size());
for (auto mobState : m_MobStates) {
data << mobState; data.WriteSome(reinterpret_cast<const std::uint8_t*>(m_MobStates.data()), m_MobStates.size() * sizeof(MobState));
}
return data; return data;
} }
@@ -543,9 +540,8 @@ void UpdateMobStatesPacket::Deserialize(DataBuffer& data) {
std::uint64_t mobCount; std::uint64_t mobCount;
data >> mobCount; data >> mobCount;
m_MobStates.resize(mobCount); m_MobStates.resize(mobCount);
for (std::uint64_t mobIndex = 0; mobIndex < mobCount; mobIndex++) {
data >> m_MobStates[mobIndex]; data.ReadSome(reinterpret_cast<std::uint8_t*>(m_MobStates.data()), mobCount * sizeof(MobState));
}
} }
DataBuffer PlayerBuyItemPacket::Serialize(bool packetID) const { DataBuffer PlayerBuyItemPacket::Serialize(bool packetID) const {