chore: Change entity and component logic to use bitstream references (#1468)

* chore: Change entity and component logic to use bitstream references

* merge
This commit is contained in:
jadebenn
2024-02-27 01:25:44 -06:00
committed by GitHub
parent 75544e3eec
commit b261e63233
190 changed files with 915 additions and 915 deletions

View File

@@ -96,42 +96,42 @@ PetComponent::PetComponent(Entity* parentEntity, uint32_t componentId) : Compone
}
}
void PetComponent::Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate) {
void PetComponent::Serialize(RakNet::BitStream& outBitStream, bool bIsInitialUpdate) {
const bool tamed = m_Owner != LWOOBJID_EMPTY;
outBitStream->Write1(); // Always serialize as dirty for now
outBitStream.Write1(); // Always serialize as dirty for now
outBitStream->Write<uint32_t>(m_Status);
outBitStream->Write(tamed ? m_Ability : ePetAbilityType::Invalid); // Something with the overhead icon?
outBitStream.Write<uint32_t>(m_Status);
outBitStream.Write(tamed ? m_Ability : ePetAbilityType::Invalid); // Something with the overhead icon?
const bool interacting = m_Interaction != LWOOBJID_EMPTY;
outBitStream->Write(interacting);
outBitStream.Write(interacting);
if (interacting) {
outBitStream->Write(m_Interaction);
outBitStream.Write(m_Interaction);
}
outBitStream->Write(tamed);
outBitStream.Write(tamed);
if (tamed) {
outBitStream->Write(m_Owner);
outBitStream.Write(m_Owner);
}
if (bIsInitialUpdate) {
outBitStream->Write(tamed);
outBitStream.Write(tamed);
if (tamed) {
outBitStream->Write(m_ModerationStatus);
outBitStream.Write(m_ModerationStatus);
const auto nameData = GeneralUtils::UTF8ToUTF16(m_Name);
const auto ownerNameData = GeneralUtils::UTF8ToUTF16(m_OwnerName);
outBitStream->Write<uint8_t>(nameData.size());
outBitStream.Write<uint8_t>(nameData.size());
for (const auto c : nameData) {
outBitStream->Write(c);
outBitStream.Write(c);
}
outBitStream->Write<uint8_t>(ownerNameData.size());
outBitStream.Write<uint8_t>(ownerNameData.size());
for (const auto c : ownerNameData) {
outBitStream->Write(c);
outBitStream.Write(c);
}
}
}