public static ISpriteFrame[] GetFrames(string filename, ISpriteLoader[] loaders) { using (var stream = GlobalFileSystem.Open(filename)) { ISpriteFrame[] frames; foreach (var loader in loaders) if (loader.TryParseSprite(stream, out frames)) return frames; throw new InvalidDataException(filename + " is not a valid sprite file"); } }
public override void Initialize() { _spriteLoader = new SpriteLoader(GameManager); base.Initialize(); }
public FrameCache(IReadOnlyFileSystem fileSystem, ISpriteLoader[] loaders) { frames = new Cache<string, ISpriteFrame[]>(filename => SpriteLoader.GetFrames(fileSystem, filename, loaders)); }
public static Sprite[] GetSprites(IReadOnlyFileSystem fileSystem, string filename, ISpriteLoader[] loaders, SheetBuilder sheetBuilder) { return GetFrames(fileSystem, filename, loaders).Select(a => sheetBuilder.Add(a)).ToArray(); }
public static ISpriteFrame[] GetFrames(Stream stream, ISpriteLoader[] loaders) { ISpriteFrame[] frames; foreach (var loader in loaders) if (loader.TryParseSprite(stream, out frames)) return frames; return null; }
public static ISpriteFrame[] GetFrames(IReadOnlyFileSystem fileSystem, string filename, ISpriteLoader[] loaders) { using (var stream = fileSystem.Open(filename)) { var spriteFrames = GetFrames(stream, loaders); if (spriteFrames == null) throw new InvalidDataException(filename + " is not a valid sprite file!"); return spriteFrames; } }
public SpriteCache(IReadOnlyFileSystem fileSystem, ISpriteLoader[] loaders, SheetBuilder sheetBuilder) { SheetBuilder = sheetBuilder; this.fileSystem = fileSystem; this.loaders = loaders; }
public FrameCache(ISpriteLoader[] loaders, string[] exts) { frames = new Cache<string, ISpriteFrame[]>(filename => SpriteLoader.GetFrames(filename, exts, loaders)); }
public static Sprite[] GetSprites(string filename, string[] exts, ISpriteLoader[] loaders, SheetBuilder sheetBuilder) { return GetFrames(filename, exts, loaders).Select(a => sheetBuilder.Add(a)).ToArray(); }
public SpriteCache(ISpriteLoader[] loaders, string[] exts, SheetBuilder sheetBuilder) { SheetBuilder = sheetBuilder; // Include extension-less version exts = exts.Append("").ToArray(); sprites = new Cache<string, Sprite[]>(filename => SpriteLoader.GetSprites(filename, exts, loaders, sheetBuilder)); }
public SpriteCache(IReadOnlyFileSystem fileSystem, ISpriteLoader[] loaders, SheetBuilder sheetBuilder) { SheetBuilder = sheetBuilder; sprites = new Cache<string, Sprite[]>(filename => SpriteLoader.GetSprites(fileSystem, filename, loaders, sheetBuilder)); }
public WorldScreen(IMapController mapController, ISpriteLoader spriteLoader, ScreenConstants constants) { this.mapController = mapController; this.spriteLoader = spriteLoader; this.constants = constants; }