package //com.example.programmingas3.geometricshapes { public class actionscript_book_SpriteArranger_com_example_programmingas3_geometricshapes_GeometricShapeFactory { public static var currentShape:actionscript_book_SpriteArranger_com_example_programmingas3_geometricshapes_IGeometricShape; public static function createShape(shapeName:String, len:Number):actionscript_book_SpriteArranger_com_example_programmingas3_geometricshapes_IGeometricShape { switch (shapeName) { case "Triangle": return new actionscript_book_SpriteArranger_com_example_programmingas3_geometricshapes_EquilateralTriangle(len); case "Square": return new actionscript_book_SpriteArranger_com_example_programmingas3_geometricshapes_Square(len); case "Circle": return new actionscript_book_SpriteArranger_com_example_programmingas3_geometricshapes_Circle(len); } return null; } public static function describeShape(shapeType:String, shapeSize:Number):String { actionscript_book_SpriteArranger_com_example_programmingas3_geometricshapes_GeometricShapeFactory.currentShape = actionscript_book_SpriteArranger_com_example_programmingas3_geometricshapes_GeometricShapeFactory.createShape(shapeType, shapeSize); return actionscript_book_SpriteArranger_com_example_programmingas3_geometricshapes_GeometricShapeFactory.currentShape.describe(); } } }