get the ActorInfo from current item not first or default

fixes #3718
This commit is contained in:
Matthias Mailänder
2013-08-20 20:18:32 +02:00
parent 9d5986c03f
commit f2150fc403

View File

@@ -62,18 +62,20 @@ namespace OpenRA.Mods.RA.Widgets
} }
foreach (var queue in queues) foreach (var queue in queues)
{ {
var item = queue.Trait.AllItems().FirstOrDefault(); var current = queue.Trait.CurrentItem();
if (item == null) if (current == null)
continue; continue;
var icon = new Animation(RenderSimple.GetImage(item));
icon.Play(item.Traits.Get<TooltipInfo>().Icon); var actor = queue.Trait.AllItems().Where(a => a.Name == current.Item).FirstOrDefault();
if (actor == null)
continue;
var icon = new Animation(RenderSimple.GetImage(actor));
icon.Play(actor.Traits.Get<TooltipInfo>().Icon);
var size = icon.Image.size / new float2(2, 2); var size = icon.Image.size / new float2(2, 2);
var location = new float2(RenderBounds.Location) + new float2(queue.i * (int)size.Length, 0); var location = new float2(RenderBounds.Location) + new float2(queue.i * (int)size.Length, 0);
WidgetUtils.DrawSHP(icon.Image, location, worldRenderer, size); WidgetUtils.DrawSHP(icon.Image, location, worldRenderer, size);
var current = queue.Trait.CurrentItem();
if (current == null)
continue;
var clock = clocks[queue.Trait]; var clock = clocks[queue.Trait];
clock.PlayFetchIndex("idle", clock.PlayFetchIndex("idle",
() => current.TotalTime == 0 ? 0 : ((current.TotalTime - current.RemainingTime) () => current.TotalTime == 0 ? 0 : ((current.TotalTime - current.RemainingTime)