package CharacterExport
{
import flash.geom.*;
import flash.display.BitmapData;
import flash.display.MovieClip;
import djarts.core.*;
public class AnimationPiece
{
public var Key:String;
public var IsAnimated = false;
// IsAnimated == false
public var Offset:Point;
public var Data:BitmapData;
//public var Node:RectangleNode;
// IsAnimated == true
public var Exporter:CharacterExporter = null;
public var PieceNodes:Array = new Array();
private var loadedCallback;
public function AnimationPiece(key:String, clip:MovieClip, loadedCallback)
{
Key = key;
this.loadedCallback = loadedCallback;
if (clip.totalFrames > 1)
{
IsAnimated = true;
Exporter = new CharacterExporter(null);
Exporter.SingleSequenceClip = true;
Exporter.ProcessFromClip(clip, loadedCallback, null);
}
else
{
IsAnimated = false;
var bounds:Rectangle = CacheManager.Instance().GetAccurateBounds(clip);
CharacterExporter.RoundRect(bounds);
var bd:BitmapData = new BitmapData(Math.max(1, bounds.width), Math.max(1, bounds.height), true, 0x0);
bd.draw(clip, new Matrix(1, 0, 0, 1, -bounds.left, -bounds.top));
Offset = new Point(-bounds.left, -bounds.top);
Data = bd;
if (loadedCallback != null) loadedCallback();
}
}
}
}