Skip to content

Commit

Permalink
tidy SiloBarWidget
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisforbes committed Oct 21, 2011
1 parent c8122a1 commit a290af6
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions OpenRA.Mods.Cnc/Widgets/SiloBarWidget.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,27 +60,28 @@ public override void Draw()
var capacityFrac = pr.OreCapacity / scaleBy;
lastCapacityFrac = capacityFrac = float2.Lerp(lastCapacityFrac.GetValueOrDefault(capacityFrac), capacityFrac, .3f);

var color = Color.LimeGreen;
if (pr.Ore >= LowStorageThreshold*pr.OreCapacity)
color = Color.Orange;
if (pr.Ore == pr.OreCapacity)
color = Color.Red;
var color = GetBarColor();

var b = RenderBounds;
var rect = new RectangleF(b.X,
b.Y + (1-capacityFrac)*b.Height,
(float)b.Width,
capacityFrac*b.Height);
var rect = new RectangleF(b.X, float2.Lerp( b.Bottom, b.Top, capacityFrac ),
(float)b.Width, capacityFrac*b.Height);
Game.Renderer.LineRenderer.FillRect(rect, color);

var indicator = ChromeProvider.GetImage("sidebar-bits", "right-indicator");

var storedFrac = pr.Ore / scaleBy;
lastStoredFrac = storedFrac = float2.Lerp(lastStoredFrac.GetValueOrDefault(storedFrac), storedFrac, .3f);

float2 pos = new float2(b.X, b.Y + (1-storedFrac)*b.Height - indicator.size.Y / 2);
float2 pos = new float2(b.X, float2.Lerp( b.Bottom, b.Top, storedFrac ) - indicator.size.Y / 2);

Game.Renderer.RgbaSpriteRenderer.DrawSprite(indicator, pos);
}

Color GetBarColor()
{
if (pr.Ore == pr.OreCapacity) return Color.Red;
if (pr.Ore >= LowStorageThreshold * pr.OreCapacity) return Color.Orange;
return Color.LimeGreen;
}
}
}

0 comments on commit a290af6

Please sign in to comment.