Newer
Older
exporter / Packer / JSONPNGSetSaver.as
package GraphicExport
{
	public class JSONPNGSetSaver {

		var name:String;
		var json:String;
		var pngs:Array;
		var sheetCount = 0;
		var doneCallback:Function = null;
		public function JSONPNGSetSaver(name:String, json:String, pngs:Array, callback:Function)
		{
			this.name = name;
			this.json = json;
			this.pngs = pngs;
			doneCallback = callback;
		}
		
		public function Save()
		{
			var fr:FileReference = new FileReference();
			fr.save(jsonOutput, this.name+".json");
			fr.addEventListener(Event.COMPLETE, OutputNextFile);
		}
		
		public function OutputNextFile(e:Event)
		{
			if (pngs.length > 0)
			{
				var pngSheet = pngs.shift();
				sheetCount++;
				var fr:FileReference = new FileReference();
				fr.save(pngSheet, this.name+"_"+(sheetCount < 10) ? "0" : "")+sheetCount+".png");
				fr.addEventListener(Event.COMPLETE, OutputNextFile);
			} else {
				doneCallback();
			}
		}

	}
	
}