simplified health bar display
This commit is contained in:
9
include/render/gui/LifeProgress.h
Normal file
9
include/render/gui/LifeProgress.h
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace td {
|
||||||
|
namespace gui {
|
||||||
|
|
||||||
|
extern void RenderLifeProgress(float progress);
|
||||||
|
|
||||||
|
} // namespace gui
|
||||||
|
} // namespace td
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
#include "render/gui/CastleTooltip.h"
|
#include "render/gui/CastleTooltip.h"
|
||||||
#include "render/gui/imgui/imgui.h"
|
#include "render/gui/imgui/imgui.h"
|
||||||
|
#include "render/gui/LifeProgress.h"
|
||||||
|
|
||||||
#include "render/WorldRenderer.h"
|
#include "render/WorldRenderer.h"
|
||||||
|
|
||||||
@@ -15,12 +16,18 @@ CastleTooltip::CastleTooltip(client::Client* client) : GuiWidget(client) {
|
|||||||
void CastleTooltip::Render() {
|
void CastleTooltip::Render() {
|
||||||
if (m_Castle == nullptr) return;
|
if (m_Castle == nullptr) return;
|
||||||
|
|
||||||
|
if (ImGui::GetIO().KeyShift) {
|
||||||
ImGui::BeginTooltip();
|
ImGui::BeginTooltip();
|
||||||
ImGui::PushStyleColor(ImGuiCol_Text, render::WorldRenderer::GetImGuiTeamColor(m_Castle->GetTeam()->GetColor()));
|
ImGui::PushStyleColor(ImGuiCol_Text, render::WorldRenderer::GetImGuiTeamColor(m_Castle->GetTeam()->GetColor()));
|
||||||
ImGui::Text("Castle : ");
|
ImGui::Text("Castle : ");
|
||||||
ImGui::PopStyleColor();
|
ImGui::PopStyleColor();
|
||||||
ImGui::Text("\tCastle HP : %i/%i", static_cast<int>(m_Castle->GetLife()), game::TeamCastle::CastleMaxLife);
|
ImGui::Text("\tCastle HP : %i/%i", static_cast<int>(m_Castle->GetLife()), game::TeamCastle::CastleMaxLife);
|
||||||
ImGui::EndTooltip();
|
ImGui::EndTooltip();
|
||||||
|
} else {
|
||||||
|
ImGui::BeginTooltip();
|
||||||
|
RenderLifeProgress(m_Castle->GetLife() / static_cast<float>(game::TeamCastle::CastleMaxLife));
|
||||||
|
ImGui::EndTooltip();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace gui
|
} // namespace gui
|
||||||
|
|||||||
15
src/render/gui/LifeProgress.cpp
Normal file
15
src/render/gui/LifeProgress.cpp
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#include "render/gui/LifeProgress.h"
|
||||||
|
|
||||||
|
#include "render/gui/imgui/imgui.h"
|
||||||
|
|
||||||
|
namespace td {
|
||||||
|
namespace gui {
|
||||||
|
|
||||||
|
void RenderLifeProgress(float progress) {
|
||||||
|
ImGui::PushStyleColor(ImGuiCol_PlotHistogram, { 1 - progress, progress, 0, 1 });
|
||||||
|
ImGui::ProgressBar(progress, { 100, 25 }, "");
|
||||||
|
ImGui::PopStyleColor();
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace gui
|
||||||
|
} // namespace td
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
#include "render/gui/MobTooltip.h"
|
#include "render/gui/MobTooltip.h"
|
||||||
#include "render/gui/imgui/imgui.h"
|
#include "render/gui/imgui/imgui.h"
|
||||||
|
#include "render/gui/LifeProgress.h"
|
||||||
|
|
||||||
#include "render/WorldRenderer.h"
|
#include "render/WorldRenderer.h"
|
||||||
|
|
||||||
@@ -19,6 +20,7 @@ void MobTooltip::Render() {
|
|||||||
|
|
||||||
// TODO: add sender null check
|
// TODO: add sender null check
|
||||||
|
|
||||||
|
if (ImGui::GetIO().KeyShift) {
|
||||||
const game::Player* sender = GetClient()->GetGame().GetPlayerById(m_Mob->GetSender());
|
const game::Player* sender = GetClient()->GetGame().GetPlayerById(m_Mob->GetSender());
|
||||||
ImGui::BeginTooltip();
|
ImGui::BeginTooltip();
|
||||||
ImGui::Text("Sender :");
|
ImGui::Text("Sender :");
|
||||||
@@ -38,6 +40,11 @@ void MobTooltip::Render() {
|
|||||||
ImGui::Text("\tEXP cost : %i", m_Mob->GetStats()->GetExpCost());
|
ImGui::Text("\tEXP cost : %i", m_Mob->GetStats()->GetExpCost());
|
||||||
ImGui::Text("\tEXP reward : %i", m_Mob->GetStats()->GetExpReward());
|
ImGui::Text("\tEXP reward : %i", m_Mob->GetStats()->GetExpReward());
|
||||||
ImGui::EndTooltip();
|
ImGui::EndTooltip();
|
||||||
|
} else {
|
||||||
|
ImGui::BeginTooltip();
|
||||||
|
RenderLifeProgress(m_Mob->GetHealth() / m_Mob->GetStats()->GetMaxLife());
|
||||||
|
ImGui::EndTooltip();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace gui
|
} // namespace gui
|
||||||
|
|||||||
Reference in New Issue
Block a user