fix: change renderer to class

This commit is contained in:
2021-09-18 18:58:32 +02:00
parent 519c6e33e7
commit a8b6a646af
10 changed files with 150 additions and 121 deletions

View File

@@ -17,7 +17,7 @@ void WorldRenderer::loadModels(){
std::cout << "Vertex Count : " << m_WorldVao->getVertexCount() << std::endl;
}
WorldRenderer::WorldRenderer(game::World* world) : m_World(world){
WorldRenderer::WorldRenderer(game::World* world, Renderer* renderer) : m_Renderer(renderer), m_World(world) {
}
void WorldRenderer::updateCursorPos(){
@@ -26,7 +26,7 @@ void WorldRenderer::updateCursorPos(){
float mouseX = io.MousePos.x;
float mouseY = io.MousePos.y;
m_CursorPos = Renderer::getCursorWorldPos({mouseX, mouseY}, Display::getAspectRatio(), m_Zoom, Display::getWindowWidth(), Display::getWindowHeight());
m_CursorPos = m_Renderer->getCursorWorldPos({mouseX, mouseY}, Display::getAspectRatio(), m_Zoom, Display::getWindowWidth(), Display::getWindowHeight());
}
void WorldRenderer::update(){
@@ -46,7 +46,7 @@ void WorldRenderer::update(){
}
void WorldRenderer::renderWorld() const{
Renderer::renderVAO(*m_WorldVao);
m_Renderer->renderVAO(*m_WorldVao);
}
void WorldRenderer::renderMobs() const{
@@ -54,7 +54,7 @@ void WorldRenderer::renderMobs() const{
Renderer::Model model;
model.vao = m_MobVao.get();
model.positon = {mob->getX(), mob->getY()};
Renderer::renderModel(model);
m_Renderer->renderModel(model);
}
}
@@ -63,7 +63,7 @@ void WorldRenderer::renderTowers() const{
tileSelectModel.vao = m_SelectTileVao.get();
tileSelectModel.positon = {(int) m_CursorPos.x, (int) m_CursorPos.y};
Renderer::renderModel(tileSelectModel);
m_Renderer->renderModel(tileSelectModel);
}
void WorldRenderer::renderTileSelect() const{
@@ -88,7 +88,7 @@ void WorldRenderer::moveCam(float relativeX, float relativeY, float aspectRatio)
return;
float movementX = -relativeX / m_Zoom * aspectRatio;
float movementY = relativeY / m_Zoom;
Renderer::setCamMovement({movementX, movementY});
m_Renderer->setCamMovement({movementX, movementY});
}
void WorldRenderer::changeZoom(float zoomStep){
@@ -101,8 +101,8 @@ void WorldRenderer::changeZoom(float zoomStep){
else{
m_Zoom *= zoomStep * sensibility;
}
Renderer::setZoom(m_Zoom);
Renderer::setCamMovement({});
m_Renderer->setZoom(m_Zoom);
m_Renderer->setCamMovement({});
}
void WorldRenderer::click(int mouseX, int mouseY){
@@ -112,7 +112,7 @@ void WorldRenderer::click(int mouseX, int mouseY){
void WorldRenderer::setCamPos(float camX, float camY){
m_CamPos = {camX, camY};
Renderer::setCamPos(m_CamPos);
m_Renderer->setCamPos(m_CamPos);
}
} // namespace render