Save batches in ProductionPalette
This commit is contained in:
@@ -211,10 +211,12 @@ namespace OpenRA.Mods.Cnc.Widgets
|
|||||||
var holdOffset = new float2(32,24) - overlayFont.Measure("On Hold") / 2;
|
var holdOffset = new float2(32,24) - overlayFont.Measure("On Hold") / 2;
|
||||||
var readyOffset = new float2(32,24) - overlayFont.Measure("Ready") / 2;
|
var readyOffset = new float2(32,24) - overlayFont.Measure("Ready") / 2;
|
||||||
var queuedOffset = new float2(4,2);
|
var queuedOffset = new float2(4,2);
|
||||||
|
|
||||||
|
// Background
|
||||||
foreach (var kv in Icons)
|
foreach (var kv in Icons)
|
||||||
WidgetUtils.DrawPanel("panel-black", kv.Key.InflateBy(1,1,1,1));
|
WidgetUtils.DrawPanel("panel-black", kv.Key.InflateBy(1,1,1,1));
|
||||||
|
|
||||||
|
// Icons
|
||||||
foreach (var kv in Icons)
|
foreach (var kv in Icons)
|
||||||
{
|
{
|
||||||
var rect = kv.Key;
|
var rect = kv.Key;
|
||||||
@@ -223,8 +225,7 @@ namespace OpenRA.Mods.Cnc.Widgets
|
|||||||
WidgetUtils.DrawSHP(icon.Sprite, drawPos, worldRenderer);
|
WidgetUtils.DrawSHP(icon.Sprite, drawPos, worldRenderer);
|
||||||
|
|
||||||
// Build progress
|
// Build progress
|
||||||
var total = icon.Queued.Count;
|
if (icon.Queued.Count > 0)
|
||||||
if (total > 0)
|
|
||||||
{
|
{
|
||||||
var first = icon.Queued[0];
|
var first = icon.Queued[0];
|
||||||
clock.PlayFetchIndex("idle",
|
clock.PlayFetchIndex("idle",
|
||||||
@@ -232,7 +233,19 @@ namespace OpenRA.Mods.Cnc.Widgets
|
|||||||
* (clock.CurrentSequence.Length - 1) / first.TotalTime);
|
* (clock.CurrentSequence.Length - 1) / first.TotalTime);
|
||||||
clock.Tick();
|
clock.Tick();
|
||||||
WidgetUtils.DrawSHP(clock.Image, drawPos, worldRenderer);
|
WidgetUtils.DrawSHP(clock.Image, drawPos, worldRenderer);
|
||||||
|
}
|
||||||
|
else if (isBuildingSomething || !buildableItems.Any(a => a.Name == icon.Name))
|
||||||
|
WidgetUtils.DrawSHP(cantBuild.Image, drawPos, worldRenderer);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Overlays
|
||||||
|
foreach (var kv in Icons)
|
||||||
|
{
|
||||||
|
var drawPos = new float2(kv.Key.Location);
|
||||||
|
var total = kv.Value.Queued.Count;
|
||||||
|
if (total > 0)
|
||||||
|
{
|
||||||
|
var first = kv.Value.Queued[0];
|
||||||
if (first.Done)
|
if (first.Done)
|
||||||
overlayFont.DrawTextWithContrast("Ready",
|
overlayFont.DrawTextWithContrast("Ready",
|
||||||
drawPos + readyOffset,
|
drawPos + readyOffset,
|
||||||
@@ -247,8 +260,6 @@ namespace OpenRA.Mods.Cnc.Widgets
|
|||||||
drawPos + queuedOffset,
|
drawPos + queuedOffset,
|
||||||
Color.White, Color.Black, 1);
|
Color.White, Color.Black, 1);
|
||||||
}
|
}
|
||||||
else if (isBuildingSomething || !buildableItems.Any(a => a.Name == icon.Name))
|
|
||||||
WidgetUtils.DrawSHP(cantBuild.Image, drawPos, worldRenderer);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user