temporary hack to fix springy power bar; will vanish with some refactoring

This commit is contained in:
Chris Forbes
2010-01-04 01:12:12 +13:00
parent b2296a5014
commit 512e56aec7

View File

@@ -238,9 +238,9 @@ namespace OpenRa.Game
while(Math.Max(Game.LocalPlayer.PowerProvided, Game.LocalPlayer.PowerDrained) >= scale) scale *= 2; while(Math.Max(Game.LocalPlayer.PowerProvided, Game.LocalPlayer.PowerDrained) >= scale) scale *= 2;
//draw bar //draw bar
var powerTopY = bottom.Y + (top.Y - bottom.Y) * (Game.LocalPlayer.PowerProvided / (float)scale); var powerTopY = bottom.Y + (top.Y - bottom.Y) * (Game.LocalPlayer.PowerProvided / (float)scale) - Game.viewport.Location.Y;
lastPowerProvidedPos = float2.Lerp(lastPowerProvidedPos.GetValueOrDefault(powerTopY), powerTopY, .3f); lastPowerProvidedPos = float2.Lerp(lastPowerProvidedPos.GetValueOrDefault(powerTopY), powerTopY, .3f);
float2 powerTop = new float2(bottom.X, lastPowerProvidedPos.Value); float2 powerTop = new float2(bottom.X, lastPowerProvidedPos.Value + Game.viewport.Location.Y);
var color = Color.LimeGreen; var color = Color.LimeGreen;
if (Game.LocalPlayer.GetPowerState() == PowerState.Low) if (Game.LocalPlayer.GetPowerState() == PowerState.Low)
@@ -257,10 +257,10 @@ namespace OpenRa.Game
lineRenderer.Flush(); lineRenderer.Flush();
var drainedPositionY = bottom.Y + (top.Y - bottom.Y)*(Game.LocalPlayer.PowerDrained/(float) scale) - powerIndicatorSprite.size.Y /2; var drainedPositionY = bottom.Y + (top.Y - bottom.Y)*(Game.LocalPlayer.PowerDrained/(float) scale) - powerIndicatorSprite.size.Y /2 - Game.viewport.Location.Y;
lastPowerDrainedPos = float2.Lerp(lastPowerDrainedPos.GetValueOrDefault(drainedPositionY), drainedPositionY, .3f); lastPowerDrainedPos = float2.Lerp(lastPowerDrainedPos.GetValueOrDefault(drainedPositionY), drainedPositionY, .3f);
//draw indicator //draw indicator
float2 drainedPosition = new float2(bottom.X + 2, lastPowerDrainedPos.Value); float2 drainedPosition = new float2(bottom.X + 2, lastPowerDrainedPos.Value + Game.viewport.Location.Y);
buildPaletteRenderer.DrawSprite(powerIndicatorSprite, drainedPosition, PaletteType.Chrome); buildPaletteRenderer.DrawSprite(powerIndicatorSprite, drainedPosition, PaletteType.Chrome);
buildPaletteRenderer.Flush(); buildPaletteRenderer.Flush();