Доброго времени суток. Есть подобие магазина, из которого диспатчаться события, при нажатии на кнопку товара.
На данный момент я прописываю в классе Shop для каждого из товаров:

Код AS3:
public static const BUY_MEET:String = "meet";
public static const BUY_GRASS:String = "grass";
public static const BUY_CARROT:String = "carrot";
Проверяю какая кнопка нажата и диспатчу соответствующее событие:

Код AS3:
private function foodBtnMouseDown(e:MouseEvent):void { // обрабатывает события мыши
var newName:String = String(e.currentTarget);
var nameObj:String = newName.substring(8, (newName.length - 2));
switch(nameObj) {
case "Meet":
dispatchEvent(new Event(BUY_MEET));
break;
case "Grass":
dispatchEvent(new Event(BUY_GRASS));
break;
case "Carrot":
dispatchEvent(new Event(BUY_CARROT));
break;
}
}
События регистрируются в другом классе, на созданный в нём экземпляр класса магазина, где они и ловятся:

Код AS3:
shop.addEventListener(Shop.BUY_MEET, buy);
shop.addEventListener(Shop.BUY_GRASS, buy);
shop.addEventListener(Shop.BUY_CARROT, buy);
Когда товаров в магазине несколько штук, такой подход вполне подходит, но если их там становится больше сотни... Возникает вопрос: каким образом можно диспатчить одно событие на все товары магазина (например: dispatchEvent(new Event(BUY))), при этом передавая в нём информацию о том, какая кнопка в магазине нажата?
Можно отправлять эту информацию через аргументы в функцию, но нужно именно dispatch'ом.