class Factory { var sin_uso:Array; var codes:Array; var parent:MovieClip; function Factory(p:MovieClip) { sin_uso = new Array(); codes = new Array(); parent = p; } function registerCode(code:Number, symbol:String) { var o:Object = new Object(); o.code = code; o.symbol = symbol; codes.push(o); } function create(code:Number, name:String, depth:Number) { var t:Object = cache_find(code); if (t == null) { var symbol:String = find_code(code); parent.attachMovie(symbol, name, depth); t = parent[name]; t.code = code; } else { t._visible = true; } return t; } function push(o:MovieClip) { o._visible = false; sin_uso.push(o); } private function find_code(code:Number):String { var i:Number; for(i=0; i