DarkflameServer/dGame/dComponents/LUPExhibitComponent.cpp
David Markowitz 2cc13c6499
chore: Make serialize actually virtual (#1156)
* Make serialize actually virtual

* fix serialize and make update virutal

* Update VendorComponent.h

* Remove flag var

* Update SoundTriggerComponent.h

---------

Co-authored-by: Aaron Kimbrell <aronwk.aaron@gmail.com>
2023-08-10 14:33:15 -07:00

45 lines
861 B
C++

#include "LUPExhibitComponent.h"
#include "EntityManager.h"
LUPExhibitComponent::LUPExhibitComponent(Entity* parent) : Component(parent) {
m_Exhibits = { 11121, 11295, 11423, 11979 };
m_ExhibitIndex = 0;
m_Exhibit = m_Exhibits[m_ExhibitIndex];
}
LUPExhibitComponent::~LUPExhibitComponent() {
}
void LUPExhibitComponent::Update(float deltaTime) {
m_UpdateTimer += deltaTime;
if (m_UpdateTimer > 20.0f) {
NextExhibit();
m_UpdateTimer = 0.0f;
}
}
void LUPExhibitComponent::NextExhibit() {
m_ExhibitIndex++;
if (m_ExhibitIndex >= m_Exhibits.size()) {
m_ExhibitIndex = 0;
}
m_Exhibit = m_Exhibits[m_ExhibitIndex];
Game::entityManager->SerializeEntity(m_Parent);
}
void LUPExhibitComponent::Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate) {
outBitStream->Write1(); // Dirty flag?
outBitStream->Write(m_Exhibit);
}