From 481b3a0134ac2290e9c0dfdfa71224fca8faa6c8 Mon Sep 17 00:00:00 2001 From: leahiel <71794961+leahiel@users.noreply.github.com> Date: Wed, 23 Sep 2020 23:00:15 -0400 Subject: [PATCH] updated life/mana globes and text placement to not use magic numbers (#750) --- d2game/d2player/game_controls.go | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/d2game/d2player/game_controls.go b/d2game/d2player/game_controls.go index 6cfaedd0..62027287 100644 --- a/d2game/d2player/game_controls.go +++ b/d2game/d2player/game_controls.go @@ -826,24 +826,19 @@ func (g *GameControls) Render(target d2interface.Surface) error { g.zoneChangeText.Render(target) } - hpWithin := (mx <= 95) && (mx >= 30) && (my <= 575) && (my >= 525) - manaWithin := (mx <= 765) && (mx >= 700) && (my <= 575) && (my >= 525) - // Display current hp and mana stats hpGlobe or manaGlobe region is clicked - if hpWithin || g.hpStatsIsVisible { - g.hpManaStatsLabel.SetText(d2ui.ColorTokenize( - fmt.Sprintf("LIFE: %v / %v", float64(g.hero.Stats.Health), float64(g.hero.Stats.MaxHealth)), - d2ui.ColorTokenWhite), - ) - g.hpManaStatsLabel.SetPosition(15, 485) + if g.actionableRegions[hpGlobe].Rect.IsInRect(mx, my) || g.hpStatsIsVisible { + g.hpManaStatsLabel.SetText(fmt.Sprintf("Life: %v / %v", float64(g.hero.Stats.Health), float64(g.hero.Stats.MaxHealth))) + g.hpManaStatsLabel.SetPosition(15, 487) g.hpManaStatsLabel.Render(target) } - if manaWithin || g.manaStatsIsVisible { - g.hpManaStatsLabel.SetText(fmt.Sprintf("MANA: %v / %v", float64(g.hero.Stats.Mana), float64(g.hero.Stats.MaxMana))) + if g.actionableRegions[manaGlobe].Rect.IsInRect(mx, my) || g.manaStatsIsVisible { + g.hpManaStatsLabel.SetText(fmt.Sprintf("Mana: %v / %v", float64(g.hero.Stats.Mana), float64(g.hero.Stats.MaxMana))) + // In case if the mana value gets higher, we need to shift the label to the left a little, hense widthManaLabel. widthManaLabel, _ := g.hpManaStatsLabel.GetSize() xManaLabel := 785 - widthManaLabel - g.hpManaStatsLabel.SetPosition(xManaLabel, 485) + g.hpManaStatsLabel.SetPosition(xManaLabel, 487) g.hpManaStatsLabel.Render(target) }