package creatures { import flash.display.Sprite; import flash.events.Event; import flash.geom.Matrix; import flash.geom.Point; import flash.utils.Dictionary; import creatures.parts.*; public class SkeletonAnimation { private var _segmentAnimations:Object = new Object(); private var segmentAnimLookup:Dictionary = new Dictionary(); public function get segmentAnimations():Object { return _segmentAnimations; } public function SkeletonAnimation() { } public function addSegmentAnimation(segmentAnimation:SegmentAnimation, segmentID:String, animationOffset:int = 0):void { if (!segmentAnimLookup[segmentAnimation]) { segmentAnimLookup[segmentAnimation] = segmentAnimation; } _segmentAnimations[segmentID] = new SkeletonAnimationProperties(segmentAnimation, animationOffset); } public function step():void { var segmentAnimation:SegmentAnimation; for each (segmentAnimation in segmentAnimLookup) { segmentAnimation.step(); } } } }