38 lines
1.2 KiB
Plaintext
38 lines
1.2 KiB
Plaintext
#include "RenderSystem.h"
|
|
#include "World.h"
|
|
|
|
void Systems::RenderSystem::OnComponentCreated( std::string type, std:: shared_ptr<Component> component )
|
|
{
|
|
if(type == "Model")
|
|
{
|
|
auto modelComponent = std::static_pointer_cast<Components::Model>(component);
|
|
|
|
<<<<<<< HEAD
|
|
if (m_CachedModels.find(modelComponent->ModelFile) != m_CachedModels.end()) {
|
|
m_CachedModels[modelComponent->ModelFile] = new Model(modelComponent->ModelFile);
|
|
}
|
|
=======
|
|
>>>>>>> ce6b570520794087eb98447a571578585a705ded
|
|
}
|
|
}
|
|
|
|
void Systems::RenderSystem::UpdateEntity( double dt, EntityID entity, EntityID parent )
|
|
{
|
|
auto modelComponent = m_World->GetComponent<Components::Model>(entity, "Model");
|
|
if (modelComponent == nullptr)
|
|
return;
|
|
auto transformComponent = m_World->GetComponent<Components::Transform>(entity, "Transform");
|
|
if (transformComponent == nullptr)
|
|
return;
|
|
|
|
if (m_CachedModels.find(modelComponent->ModelFile) == m_CachedModels.end()) {
|
|
m_CachedModels[modelComponent->ModelFile] = new Model(modelComponent->ModelFile);
|
|
}
|
|
Model* model = m_CachedModels[modelComponent->ModelFile];
|
|
m_Renderer->AddModelToDraw(model, transformComponent->Position, transformComponent->Orientation);
|
|
}
|
|
|
|
|
|
|
|
|