Overhaul WithDecoration trait.
This commit is contained in:
@@ -91,10 +91,11 @@ namespace OpenRA.Mods.Common.Widgets
|
||||
var location = new float2(RenderBounds.Location) + new float2(queue.i * (IconWidth + IconSpacing), 0);
|
||||
WidgetUtils.DrawSHPCentered(icon.Image, location + 0.5f * iconSize, worldRenderer.Palette(bi.IconPalette), 0.5f);
|
||||
|
||||
var pio = queue.Trait.Actor.Owner.PlayerActor.TraitsImplementing<IProductionIconOverlay>().FirstOrDefault();
|
||||
if (pio != null && pio.IsOverlayActive(actor))
|
||||
WidgetUtils.DrawSHPCentered(pio.Sprite(), location + 0.5f * iconSize + pio.Offset(0.5f * iconSize),
|
||||
worldRenderer.Palette(pio.Palette()), 0.5f * pio.Scale());
|
||||
var pio = queue.Trait.Actor.Owner.PlayerActor.TraitsImplementing<IProductionIconOverlay>()
|
||||
.FirstOrDefault(p => p.IsOverlayActive(actor));
|
||||
if (pio != null)
|
||||
WidgetUtils.DrawSHPCentered(pio.Sprite, location + 0.5f * iconSize + pio.Offset(0.5f * iconSize),
|
||||
worldRenderer.Palette(pio.Palette), 0.5f);
|
||||
|
||||
var clock = clocks[queue.Trait];
|
||||
clock.PlayFetchIndex(ClockSequence,
|
||||
|
||||
@@ -374,8 +374,7 @@ namespace OpenRA.Mods.Common.Widgets
|
||||
|
||||
var buildableItems = CurrentQueue.BuildableItems();
|
||||
|
||||
var pio = currentQueue.Actor.Owner.PlayerActor.TraitsImplementing<IProductionIconOverlay>().FirstOrDefault();
|
||||
var pioOffset = pio != null ? pio.Offset(IconSize) : new float2(0, 0);
|
||||
var pios = currentQueue.Actor.Owner.PlayerActor.TraitsImplementing<IProductionIconOverlay>();
|
||||
|
||||
// Icons
|
||||
foreach (var icon in icons.Values)
|
||||
@@ -383,8 +382,9 @@ namespace OpenRA.Mods.Common.Widgets
|
||||
WidgetUtils.DrawSHPCentered(icon.Sprite, icon.Pos + iconOffset, icon.Palette);
|
||||
|
||||
// Draw the ProductionIconOverlay's sprite
|
||||
if (pio != null && pio.IsOverlayActive(icon.Actor))
|
||||
WidgetUtils.DrawSHPCentered(pio.Sprite(), icon.Pos + iconOffset + pioOffset, worldRenderer.Palette(pio.Palette()), pio.Scale());
|
||||
var pio = pios.FirstOrDefault(p => p.IsOverlayActive(icon.Actor));
|
||||
if (pio != null)
|
||||
WidgetUtils.DrawSHPCentered(pio.Sprite, icon.Pos + iconOffset + pio.Offset(IconSize), worldRenderer.Palette(pio.Palette), 1f);
|
||||
|
||||
// Build progress
|
||||
if (icon.Queued.Count > 0)
|
||||
|
||||
Reference in New Issue
Block a user