import com.oop.SelectionSystem; class com.oop.GridSelectionSystem extends SelectionSystem { private var itemsPerRow:Number = 3; private var currentRow:Number = 0; private var currentColumn:Number = 0; //space between rows and columns private var horizSpace:Number = -6; //60; private var vertSpace:Number = 0; //50; public function GridSelectionSystem() {} private function attachButtonItems():Void { //get placement object according to counts for (var i:Number = 0; i < systemData.length; i++) { updateGrid(i); var item:MovieClip = this.attachMovie(exportName, "Item_" + i, i ); item.init(this, i, systemData[i], getItemPositionObj()); listItems.push(item); } } private function updateGrid(_index:Number) { if(!(_index % itemsPerRow)) { currentColumn = 0; currentRow++; } else { currentColumn++; } } private function getItemPositionObj():Object { var obj:Object = new Object(); obj.horizSpace = horizSpace; obj.vertSpace = vertSpace; obj.grid_x = currentColumn; obj.grid_y = currentRow; return obj; } private function selectedData():MovieClip { return systemData[ getCurrentSelection() ]; } }