| function ShapeCollection(){ |
| this._length = 0; |
| this._maxLength = 4; |
| this.shapes = createSizedArray(this._maxLength); |
| }; |
| |
| ShapeCollection.prototype.addShape = function(shapeData){ |
| if(this._length === this._maxLength){ |
| this.shapes = this.shapes.concat(createSizedArray(this._maxLength)); |
| this._maxLength *= 2; |
| } |
| this.shapes[this._length] = shapeData; |
| this._length += 1; |
| }; |
| |
| ShapeCollection.prototype.releaseShapes = function(){ |
| var i; |
| for(i = 0; i < this._length; i += 1) { |
| shape_pool.release(this.shapes[i]); |
| } |
| this._length = 0; |
| }; |