feat: add basic towers rendering
This commit is contained in:
@@ -62,6 +62,11 @@ void WorldRenderer::renderMobs() const {
|
||||
}
|
||||
|
||||
void WorldRenderer::renderTowers() const {
|
||||
if(!m_TowersCache.isEmpty())
|
||||
m_Renderer->renderVAO(m_TowersCache.getVertexArray());
|
||||
}
|
||||
|
||||
void WorldRenderer::renderTileSelect() const {
|
||||
Renderer::Model tileSelectModel;
|
||||
tileSelectModel.vao = m_SelectTileVao.get();
|
||||
tileSelectModel.positon = { (int)m_CursorPos.x, (int)m_CursorPos.y };
|
||||
@@ -69,10 +74,6 @@ void WorldRenderer::renderTowers() const {
|
||||
m_Renderer->renderModel(tileSelectModel);
|
||||
}
|
||||
|
||||
void WorldRenderer::renderTileSelect() const {
|
||||
|
||||
}
|
||||
|
||||
void WorldRenderer::render() {
|
||||
if (m_WorldVao == nullptr)
|
||||
return;
|
||||
@@ -151,6 +152,17 @@ void WorldRenderer::detectClick() {
|
||||
}
|
||||
}
|
||||
|
||||
void WorldRenderer::addTower(game::TowerPtr tower){
|
||||
const WorldLoader::RenderData& renderData = WorldLoader::loadTowerModel(tower);
|
||||
m_TowersCache.addData(tower->getID(), renderData.positions, renderData.colors);
|
||||
m_TowersCache.updateVertexArray();
|
||||
}
|
||||
|
||||
void WorldRenderer::removeTower(game::TowerPtr tower){
|
||||
m_TowersCache.removeData(tower->getID());
|
||||
m_TowersCache.updateVertexArray();
|
||||
}
|
||||
|
||||
glm::vec2 WorldRenderer::getCursorWorldPos() const {
|
||||
ImGuiIO& io = ImGui::GetIO();
|
||||
return m_Renderer->getCursorWorldPos({ io.MousePos.x, io.MousePos.y }, Display::getAspectRatio(), m_Zoom, Display::getWindowWidth(), Display::getWindowHeight());
|
||||
|
||||
Reference in New Issue
Block a user