public object Load(DataSourceBase ds, List <FormatParameter> parameters) { //Remember to set source stream to begining ds.Stream.Seek(0, SeekOrigin.Begin); var spriteSetBuilder = SpriteSetBuilder.NewSpriteSet(); //spriteSetBuilder.SetSource(source); var sprReader = new SPRReader(spriteSetBuilder); return(sprReader.Read(ds.Stream)); }
public static SpriteSetModel FromImageModel(IModelsProvider dataProvider, IDbSpriteAtlasFromImage entry) { var image = dataProvider.GetModel <Bitmap>(entry.DataRef); var spriteSetBuilder = SpriteSetBuilder.NewSpriteSet(); for (int i = 0; i < entry.Sprites.Count; i++) { var spriteDef = entry.Sprites[i]; var spriteBuilder = SpriteBuilder.NewSprite(); spriteBuilder.SetIndex(i); spriteBuilder.SetSize(spriteDef.Width, spriteDef.Height); var cutout = new Rectangle(spriteDef.X, spriteDef.Y, spriteDef.Width, spriteDef.Height); var bytes = BitmapHelper.ToBytes(image, cutout); spriteBuilder.SetData(bytes); spriteSetBuilder.AddSprite(spriteBuilder.Build()); } return(spriteSetBuilder.Build()); }
public object Load(DataSourceBase ds, List <FormatParameter> parameters) { var type = typeof((int, int)); var n = type.Name; //Remember to set source stream to begining ds.Stream.Seek(0, SeekOrigin.Begin); var spriteSetBuilder = SpriteSetBuilder.NewSpriteSet(); var spriteSizes = new List <(int, int)>(); for (int i = 0; i < parameters.Count; i += 2) { var w = (int)parameters[i].Value; var h = (int)parameters[i + 1].Value; spriteSizes.Add((w, h)); } var oddSprReader = new ODDSPRReader(spriteSetBuilder, spriteSizes.ToArray()); return(oddSprReader.Read(ds.Stream)); }
public SPRReader(SpriteSetBuilder builder) { Builder = builder; }