mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-24 06:27:24 +00:00
43 lines
1.1 KiB
C++
43 lines
1.1 KiB
C++
|
#include "ModelComponent.h"
|
||
|
#include "Entity.h"
|
||
|
|
||
|
ModelComponent::ModelComponent(uint32_t componentID, Entity* parent) : Component(parent)
|
||
|
{
|
||
|
m_Position = m_Parent->GetDefaultPosition();
|
||
|
m_Rotation = m_Parent->GetDefaultRotation();
|
||
|
|
||
|
m_userModelID = m_Parent->GetVarAs<LWOOBJID>(u"userModelID");
|
||
|
|
||
|
/*
|
||
|
for (auto set : m_Parent->GetInfo().settings) {
|
||
|
if (set && set->GetKey() == u"userModelID") {
|
||
|
m_userModelID = std::stoull(set->GetValueAsString());
|
||
|
}
|
||
|
}
|
||
|
*/
|
||
|
}
|
||
|
|
||
|
ModelComponent::~ModelComponent() {
|
||
|
}
|
||
|
|
||
|
void ModelComponent::Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate, unsigned int& flags) {
|
||
|
//item component:
|
||
|
outBitStream->Write1();
|
||
|
outBitStream->Write<LWOOBJID>(m_userModelID);
|
||
|
outBitStream->Write<int>(0);
|
||
|
outBitStream->Write0();
|
||
|
|
||
|
//actual model component:
|
||
|
outBitStream->Write1(); //yes we are writing model info
|
||
|
outBitStream->Write0(); //??
|
||
|
outBitStream->Write<int>(2); //model type, always 2 for BBB
|
||
|
|
||
|
outBitStream->Write(m_Position);
|
||
|
outBitStream->Write(m_Rotation);
|
||
|
|
||
|
outBitStream->Write1(); //second data flag, all unknown. Maybe skip?
|
||
|
outBitStream->Write<int>(0);
|
||
|
outBitStream->Write1();
|
||
|
outBitStream->Write0();
|
||
|
}
|