#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];

	EntityManager::Instance()->SerializeEntity(m_Parent);
}

void LUPExhibitComponent::Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate, uint32_t& flags) {
	outBitStream->Write1(); // Dirty flag?
	outBitStream->Write(m_Exhibit);
}