Всем доброго дня!
Смотрите как у меня получается, есть два проект:
loader и
game. В обоих проектах имеется класс
GameEvent, который наследуется от класса
Event. Суть такова, что вначале запускается
loader, он грузит
game и когда он его загрузил, то он подписывается на событие:

Код AS3:
addEventListener(GameEvent.READY,OnGameEventReady);
// ...
// Клип game.swf готов к работе
private function OnGameEventReady(_event:GameEvent):void
{
removeEventListener(GameEvent.READY,OnGameEventReady);
objGame.pGameLoader.funInviteFriends=VKDShowInviteBox;
objGame.startGame();
}
То есть я как бы ловлю от подгруженного клипа событие что тот выполнил определённый сценарий и после уже присваиваю его переменным нужные значения. То есть из
loader я хочу обратиться к переменной в
game, которая указывает на экземпляр класса в котором я хочу установить свои значения для переменных. И если я обращусь туда раньше чем этот экземпляр был создан, то произойдёт ошибка. Именно для этого я и хочу получать от
game создал ли он экземпляр.
В самом же
game 1 в 1 тот же самый код класса
GameEvent:

Код AS3:
package D
{
import flash.events.Event;
// Событие игры
public class GameEvent extends Event
{
public static const READY :String = "D_GameEvent";
public var dataType:String=null; // Тип события
public function GameEvent(_dataType:String)
{
dataType=_dataType;
super(dataType,true,false);
}
}
}
И когда
game готов, делаю:

Код AS3:
dispatchEvent(new GameEvent(GameEvent.READY));
Событие приходит в
loader, но возникает ошибка преобразования (или как она там). Он не может отосланный класс преобразовать в принимаемый. Помогает тупая замена:

Код AS3:
// Клип game.swf готов к работе
private function OnGameEventReady(_event:*):void
{
removeEventListener(GameEvent.READY,OnGameEventReady);
objGame.pGameLoader.funInviteFriends=VKDShowInviteBox;
objGame.startGame();
}
Если для данной ситуации это терпимо (хоть и не правильно), то что будет когда мне надо будет у события извлекать параметры?!
Есть ли какой-то способ правильно получать событие?
Добавлено через 9 минут
Конечно можно так:

Код AS3:
// Клип game.swf готов к работе
private function OnGameEventReady(_event:*):void
{
removeEventListener(GameEvent.READY,OnGameEventReady);
var event:GameEvent=_event as GameEvent;
objGame.pGameLoader.funInviteFriends=VKDShowInviteBox;
objGame.startGame();
}
Только на сколько это правильно.