private static void OnDraw(EventArgs args)
{
if (Enabled)
{
foreach (
var unit in ObjectManager.Get<Obj_AI_Hero>().Where(u => u.IsValidTarget() && u.IsHPBarRendered))
{
// Get damage to unit
var damage = damageToUnit(unit);
// Continue on 0 damage
if (damage <= 0)
{
continue;
}
// Get remaining HP after damage applied in percent and the current percent of health
var damagePercentage = ((unit.Health - damage) > 0 ? (unit.Health - damage) : 0) / unit.MaxHealth;
var currentHealthPercentage = unit.Health / unit.MaxHealth;
// Calculate start and end point of the bar indicator
var startPoint =
new Vector2(
(int) (unit.HPBarPosition.X + BarOffset.X + damagePercentage * BarWidth),
(int) (unit.HPBarPosition.Y + BarOffset.Y) - 5);
var endPoint =
new Vector2(
(int) (unit.HPBarPosition.X + BarOffset.X + currentHealthPercentage * BarWidth) + 1,
(int) (unit.HPBarPosition.Y + BarOffset.Y) - 5);
// Draw the line
Drawing.DrawLine(startPoint, endPoint, LineThickness, DrawingColor);
}
}
}
}