F4MP/codigos originales/tiltedcode/Code/encoding/Structs/ActorValues.cpp
2026-01-06 18:53:59 +01:00

50 lines
1.5 KiB
C++

#include <Structs/ActorValues.h>
#include <TiltedCore/Serialization.hpp>
using TiltedPhoques::Serialization;
bool ActorValues::operator==(const ActorValues& acRhs) const noexcept
{
return ActorValuesList == acRhs.ActorValuesList;
}
bool ActorValues::operator!=(const ActorValues& acRhs) const noexcept
{
return !this->operator==(acRhs);
}
void ActorValues::Serialize(TiltedPhoques::Buffer::Writer& aWriter) const noexcept
{
Serialization::WriteVarInt(aWriter, ActorValuesList.size());
for (auto& value : ActorValuesList)
{
Serialization::WriteVarInt(aWriter, value.first);
Serialization::WriteFloat(aWriter, value.second);
}
Serialization::WriteVarInt(aWriter, ActorMaxValuesList.size());
for (auto& value : ActorMaxValuesList)
{
Serialization::WriteVarInt(aWriter, value.first);
Serialization::WriteFloat(aWriter, value.second);
}
}
void ActorValues::Deserialize(TiltedPhoques::Buffer::Reader& aReader) noexcept
{
auto count = Serialization::ReadVarInt(aReader);
for (int i = 0; i < count; i++)
{
auto key = Serialization::ReadVarInt(aReader);
auto value = Serialization::ReadFloat(aReader);
ActorValuesList.insert({key, value});
}
auto maxCount = Serialization::ReadVarInt(aReader);
for (int i = 0; i < maxCount; i++)
{
auto key = Serialization::ReadVarInt(aReader);
auto value = Serialization::ReadFloat(aReader);
ActorMaxValuesList.insert({key, value});
}
}