diff --git a/resources/Schema/Components/AbilityCooldownHUD.xsd b/resources/Schema/Components/AbilityCooldownHUD.xsd
index 066a9442..5bfb01a8 100644
--- a/resources/Schema/Components/AbilityCooldownHUD.xsd
+++ b/resources/Schema/Components/AbilityCooldownHUD.xsd
@@ -3,7 +3,7 @@
- HUD element for tracking ability cooldown
+ HUD element for tracking ability cooldown. If it has a sprite and fill component it will fill the sprite with chosen color depending on the cooldown.\n A child with text component named "Cooldown"
\ No newline at end of file
diff --git a/resources/Schema/Entities/Player.xml b/resources/Schema/Entities/Player.xml
index 28ace561..91b25bcb 100644
--- a/resources/Schema/Entities/Player.xml
+++ b/resources/Schema/Entities/Player.xml
@@ -12,6 +12,7 @@
+
52.867678870419283
@@ -122,6 +123,7 @@
Textures/HealthHUD3.png
+ false
@@ -132,7 +134,42 @@
-
+
+
+
+
+
+
+
+
+ Textures/Core/White.png
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.0
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Game/Systems/AbilityCooldownHUDSystem.cpp b/src/Game/Systems/AbilityCooldownHUDSystem.cpp
index 12d268c7..44180a62 100644
--- a/src/Game/Systems/AbilityCooldownHUDSystem.cpp
+++ b/src/Game/Systems/AbilityCooldownHUDSystem.cpp
@@ -17,10 +17,12 @@ void AbilityCooldownHUDSystem::Update(double dt)
if(cooldownTextEntity.Valid()) {
if(cooldownTextEntity.HasComponent("Text"))
{
- double abilityCD = (double)abilityEntity["DashAbility"]["CoolDownMaxTimer"];
- std::string t = (std::string&)cooldownTextEntity["Text"]["Content"] = std::to_string(abilityCD).substr(0, 3);
+ double maxAbilityCD = (double)abilityEntity["DashAbility"]["CoolDownMaxTimer"];
+ double currentAbilityCD = (double)abilityEntity["DashAbility"]["CoolDownTimer"];
+ currentAbilityCD = currentAbilityCD >= 0.0 ? currentAbilityCD : 0.0;
+ std::string t = (std::string&)cooldownTextEntity["Text"]["Content"] = std::to_string(currentAbilityCD).substr(0, 3);
if(entity.HasComponent("Fill")) {
- entity["Fill"]["Percentage"] = abilityCD/abilityCD; //TODO: current time needs to be in the component.
+ entity["Fill"]["Percentage"] = currentAbilityCD/maxAbilityCD; //TODO: current time needs to be in the component.
}
}
}