read the production icons from sequences

this allows d2k to read them from DATA.R8 without trouble
This commit is contained in:
Matthias Mailänder
2013-08-16 10:03:05 +02:00
parent b73ca27a8f
commit 376a6c7a5d
46 changed files with 862 additions and 425 deletions

View File

@@ -37,7 +37,6 @@ namespace OpenRA.Mods.RA.Widgets
List<ProductionQueue> VisibleQueues;
bool paletteOpen = false;
Dictionary<string, Sprite> iconSprites;
float2 paletteOpenOrigin = new float2(Game.viewport.Width - 215, 280);
float2 paletteClosedOrigin = new float2(Game.viewport.Width - 16, 280);
@@ -67,13 +66,6 @@ namespace OpenRA.Mods.RA.Widgets
paletteOrigin = paletteClosedOrigin;
VisibleQueues = new List<ProductionQueue>();
CurrentQueue = null;
iconSprites = Rules.Info.Values
.Where(u => u.Traits.Contains<BuildableInfo>() && u.Name[0] != '^')
.ToDictionary(
u => u.Name,
u => Game.modData.SpriteLoader.LoadAllSprites(
u.Traits.Get<TooltipInfo>().Icon ?? (u.Name + "icon"))[0]);
}
public override Rectangle EventBounds
@@ -230,7 +222,9 @@ namespace OpenRA.Mods.RA.Widgets
{
var rect = new RectangleF(origin.X + x * IconWidth, origin.Y + IconHeight * y, IconWidth, IconHeight);
var drawPos = new float2(rect.Location);
WidgetUtils.DrawSHP(iconSprites[item.Name], drawPos, worldRenderer);
var icon = new Animation(RenderSimple.GetImage(item));
icon.Play(item.Traits.Get<TooltipInfo>().Icon);
WidgetUtils.DrawSHP(icon.Image, drawPos, worldRenderer);
var firstOfThis = queue.AllQueued().FirstOrDefault(a => a.Item == item.Name);