More mesh shading changes
This commit is contained in:
@@ -4,18 +4,29 @@ using namespace Seele;
|
||||
using namespace Seele::System;
|
||||
|
||||
MeshUpdater::MeshUpdater(PScene scene)
|
||||
: ComponentSystem<Component::Transform, Component::Mesh>(scene)
|
||||
: SystemBase(scene)
|
||||
{
|
||||
scene->view<Component::Mesh>([&](entt::entity id, Component::Mesh& mesh) {
|
||||
meshEntities.add(id);
|
||||
});
|
||||
scene->constructCallback<Component::Mesh>().connect<&MeshUpdater::on_construct>(this);
|
||||
scene->destroyCallback<Component::Mesh>().connect<&MeshUpdater::on_destroy>(this);
|
||||
}
|
||||
|
||||
MeshUpdater::~MeshUpdater()
|
||||
{
|
||||
}
|
||||
|
||||
void MeshUpdater::update(Component::Transform& transform, Component::Mesh& meshComp)
|
||||
void MeshUpdater::update()
|
||||
{
|
||||
for(const auto& mesh : meshComp.asset->meshes)
|
||||
{
|
||||
mesh->vertexData->updateMesh(transform, mesh);
|
||||
}
|
||||
}
|
||||
|
||||
void MeshUpdater::on_construct(entt::registry& reg, entt::entity id)
|
||||
{
|
||||
meshEntities.add(id);
|
||||
}
|
||||
|
||||
void MeshUpdater::on_destroy(entt::registry& reg, entt::entity id)
|
||||
{
|
||||
meshEntities.remove(id, false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user