2023-06-08 15:29:17 +00:00
|
|
|
#include "ModelBehaviorComponent.h"
|
2021-12-05 17:54:36 +00:00
|
|
|
#include "Entity.h"
|
|
|
|
|
2023-06-08 15:29:17 +00:00
|
|
|
ModelBehaviorComponent::ModelBehaviorComponent(Entity* parent) : Component(parent) {
|
2023-06-09 09:46:01 +00:00
|
|
|
m_OriginalPosition = m_ParentEntity->GetDefaultPosition();
|
|
|
|
m_OriginalRotation = m_ParentEntity->GetDefaultRotation();
|
2021-12-05 17:54:36 +00:00
|
|
|
|
2023-06-09 09:46:01 +00:00
|
|
|
m_userModelID = m_ParentEntity->GetVarAs<LWOOBJID>(u"userModelID");
|
2021-12-05 17:54:36 +00:00
|
|
|
}
|
|
|
|
|
2023-06-08 15:29:17 +00:00
|
|
|
void ModelBehaviorComponent::Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate, unsigned int& flags) {
|
2022-07-19 21:51:35 +00:00
|
|
|
// ItemComponent Serialization. Pets do not get this serialization.
|
2023-06-09 09:46:01 +00:00
|
|
|
if (!m_ParentEntity->HasComponent(eReplicaComponentType::PET)) {
|
2022-07-19 21:51:35 +00:00
|
|
|
outBitStream->Write1();
|
2023-06-09 09:46:01 +00:00
|
|
|
outBitStream->Write<LWOOBJID>(m_userModelID != LWOOBJID_EMPTY ? m_userModelID : m_ParentEntity->GetObjectID());
|
2022-07-19 21:51:35 +00:00
|
|
|
outBitStream->Write<int>(0);
|
|
|
|
outBitStream->Write0();
|
|
|
|
}
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2021-12-05 17:54:36 +00:00
|
|
|
//actual model component:
|
2022-07-19 21:51:35 +00:00
|
|
|
outBitStream->Write1(); // Yes we are writing model info
|
|
|
|
outBitStream->Write0(); // Is pickable
|
|
|
|
outBitStream->Write<uint32_t>(2); // Physics type
|
|
|
|
outBitStream->Write(m_OriginalPosition); // Original position
|
|
|
|
outBitStream->Write(m_OriginalRotation); // Original rotation
|
2021-12-05 17:54:36 +00:00
|
|
|
|
2022-07-19 21:51:35 +00:00
|
|
|
outBitStream->Write1(); // We are writing behavior info
|
|
|
|
outBitStream->Write<uint32_t>(0); // Number of behaviors
|
|
|
|
outBitStream->Write1(); // Is this model paused
|
|
|
|
if (bIsInitialUpdate) outBitStream->Write0(); // We are not writing model editing info
|
2021-12-05 17:54:36 +00:00
|
|
|
}
|