Newer
Older
exporter / CharacterExport / AnimationPieceSet.as
package CharacterExport
{
	import flash.display.MovieClip;
	import djarts.utils.CountWaiter;

	public class AnimationPieceSet
	{
		public var Name:String;
		public var Pieces:Array = new Array();
		
		private var waiter:CountWaiter;
		public function LoadClip(clip:MovieClip, doneCallback)
		{
			waiter = new CountWaiter(function(cw) {if (doneCallback != null) doneCallback();});
			for (var i = 0; i < clip.numChildren; i++)
			{
				var c = clip.getChildAt(i);
				if (c is MovieClip)
				{
					var child:MovieClip = c as MovieClip;
					var m;
					if (m = child.name.match("^piece_(.*)_clip$"))
					{
						
						//var index = Number(m[1]);
						var found = false;
						for (var j in Pieces)
						{
							if (Pieces[j].Key == m[1])
							{
								found = true;
								break;
							}
						}
						if (!found)
						{
							waiter.Wait();
							Pieces.push(new AnimationPiece(m[1], child, waiter.WaitDone));
						}
					}
				}
			}
			waiter.Go();
		}			
	}
}