feat: add mob tooltip
This commit is contained in:
@@ -84,6 +84,7 @@ void WorldRenderer::render() {
|
||||
renderTowers();
|
||||
renderTileSelect();
|
||||
detectClick();
|
||||
renderMobTooltip();
|
||||
renderPopups();
|
||||
}
|
||||
|
||||
@@ -154,6 +155,33 @@ void WorldRenderer::detectClick() {
|
||||
}
|
||||
}
|
||||
|
||||
void WorldRenderer::renderMobTooltip() const {
|
||||
glm::vec2 cursorWorldPos = getCursorWorldPos();
|
||||
for (game::MobPtr mob : m_World->getMobList()) {
|
||||
// mob size is currently 1x1 for all mobs
|
||||
float mobCenterX = mob->getX();
|
||||
float mobCenterY = mob->getY();
|
||||
if (cursorWorldPos.x > mobCenterX - 0.5f && cursorWorldPos.x < mobCenterX + 0.5f
|
||||
&& cursorWorldPos.y > mobCenterY - 0.5f && cursorWorldPos.y < mobCenterY + 0.5f) {
|
||||
ImGui::BeginTooltip();
|
||||
ImGui::Text("Sender : %s", m_Client->getPlayerById(mob->getSender()).getName().c_str());
|
||||
ImGui::Text("Mob HP : %.1f/%i", mob->getHealth(), mob->getStats()->getMaxLife());
|
||||
ImGui::Text("Mob Type : %s", game::MobFactory::getMobName(mob->getType()).c_str());
|
||||
ImGui::Text("Mob Level : %i", mob->getLevel());
|
||||
ImGui::NewLine();
|
||||
ImGui::Text("Mob Stats :");
|
||||
ImGui::Text("\tMax health : %i", mob->getStats()->getMaxLife());
|
||||
ImGui::Text("\tSpeed : %.1f", mob->getStats()->getMovementSpeed());
|
||||
ImGui::Text("\tDamage : %.1f", mob->getStats()->getDamage());
|
||||
ImGui::Text("\tMoney cost : %i", mob->getStats()->getMoneyCost());
|
||||
ImGui::Text("\tEXP cost : %i", mob->getStats()->getExpCost());
|
||||
ImGui::Text("\tEXP reward : %i", mob->getStats()->getExpReward());
|
||||
ImGui::EndTooltip();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void WorldRenderer::addTower(game::TowerPtr tower) {
|
||||
const WorldLoader::RenderData& renderData = WorldLoader::loadTowerModel(tower);
|
||||
m_TowersCache.addData(tower->getID(), renderData.positions, renderData.colors);
|
||||
|
||||
Reference in New Issue
Block a user