Есть класс, который описывает пользовательские события:

Код AS3:
package com.rpg_online.private_events
{
import flash.events.*;
public class ObjectGameEvent extends Event
{
public static const CREATED:String ="created";
public var isCreate:Boolean;
public function ObjectGameEvent(type:String,bubbles:Boolean=false,cancelable:Boolean=false,isCreate:Boolean=false){
super(type,bubbles,cancelable);
this.isCreate=isCreate;}
public override function clone():Event{
return new ObjectGameEvent(type,bubbles,cancelable,isCreate);}
public override function toString():String{
return formatToString("ObjectGameEvent","type","bubbles","cancelable","eventPhase","isCreate");}
}
}
Суть такая, создается множество графических объектов в fla файле, нужно обращаться к этим объектам. Чтобы обращаться к ним, нужно быть уверенным, что до момента обращения они были созданы(т.е. существуют). Для этого я создал пользовательское событие ObjectGameEvent.CREATED
Затем читаю событие в основном классе:

Код AS3:
package com.rpg_online.mainclass
{
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.net.*;
import flash.utils.*;
import com.rpg_online.controler.PlayerCreate;
import com.rpg_online.controler.ObstacleCreate;
import com.rpg_online.private_events.ObjectGameEvent;
public class Main extends MovieClip
{
private var obstacle:ObstacleCreate=new ObstacleCreate();
private var player:PlayerCreate=new PlayerCreate();
private var isCreate:Boolean;
private var numberCreated:int=0;
public function Main(){
isCreate=false;
addChildAt(player,0);
addChildAt(obstacle,0);
setChildIndex(player,0);
setChildIndex(obstacle,1);
addEventListener(ObjectGameEvent.CREATED,polyHittestedDelete);
player.poly.addEventListener(ObjectGameEvent.CREATED,objectlistiner);
obstacle.addEventListener(ObjectGameEvent.CREATED,objectlistiner);
}
private function objectlistiner(e:ObjectGameEvent):void{
trace("succifull created");
numberCreated++;
if(numberCreated==2){
isCreate=true;
dispatchEvent(new ObjectGameEvent(ObjectGameEvent.CREATED,true,false,isCreate));
trace("succifull all created");
}
}
private function polyHittestedDelete(e:ObjectGameEvent){
trace("delete this");
}
}
}
В принципе все работает за исключением одного, нужно проверить что созданы все объекты до их взаимодействия. Нужно описать событие ObjectGameEvent.ALLCREATED. Вопрос в том как описывать несколько событий в классе ObjectGameEvent??