Adding a onStart onStop

This commit is contained in:
Zoe Roux
2021-06-09 16:00:06 +02:00
parent c544a83ee8
commit c94237dedc
13 changed files with 79 additions and 38 deletions

View File

@@ -33,24 +33,20 @@ namespace BBM
this->_window.clear();
this->_window.useCamera(this->_camera);
for (auto &[entity, pos, drawable] : this->_wal.scene->view<PositionComponent, Drawable3DComponent>()) {
for (auto &[entity, pos, drawable] : this->_wal.getScene()->view<PositionComponent, Drawable3DComponent>()) {
auto *modelShader = entity.tryGetComponent<ShaderComponentModel>();
if (modelShader) {
auto &model = dynamic_cast<RAY::Drawables::Drawables3D::Model &>(*drawable.drawable);
model.setShader(modelShader->getShader());
}
if (modelShader)
modelShader->model->setShader(modelShader->getShader());
drawable.drawable->setPosition(pos.position);
drawable.drawable->drawOn(this->_window);
if (modelShader) {
auto &model = dynamic_cast<RAY::Drawables::Drawables3D::Model &>(*drawable.drawable);
model.resetShader();
}
if (modelShader)
modelShader->model->resetShader();
}
this->_window.unuseCamera();
// TODO sort entities based on the Z axis
for (auto &[entity, pos, drawable] : this->_wal.scene->view<PositionComponent, Drawable2DComponent>()) {
for (auto &[entity, pos, drawable] : this->_wal.getScene()->view<PositionComponent, Drawable2DComponent>()) {
auto *shader = entity.tryGetComponent<ShaderComponentDrawable2D>();
if (shader) {