using System.Collections.Generic; using Ijw.DirectX; using IjwFramework.Collections; using OpenRa.FileFormats; namespace OpenRa.Game.Graphics { static class UnitSheetBuilder { public static void Initialize() { sprites = new List(); sequences = new Cache>(AddUnit); } public static List sprites; static Cache> sequences; public static Range GetUnit(string name) { return sequences[name]; } static Range AddUnit( string name ) { var low = sprites.Count; var reader = new ShpReader( FileSystem.OpenWithExts( name, ".tem", ".sno", ".int", ".shp" ) ); foreach (var h in reader) sprites.Add(SheetBuilder.Add(h.Image, reader.Size)); var sequence = new Range(low, sprites.Count - 1); return sequence; } } }