Я ищу способ добавить EventListener, который автоматически удаляет себя после первого запуска, но я не могу придумать способ сделать это так, как я хочу.
Я нашел эту функцию ( здесь ):
public class EventUtil
{
public static function addOnceEventListener(dispatcher:IEventDispatcher,eventType:String,listener:Function):void
{
var f:Function = function(e:Event):void
{
dispatcher.removeEventListener(eventType,f);
listener(e);
}
dispatcher.addEventListener(eventType,f);
}
}
Но вместо того, чтобы писать:
EventUtil.addOnceEventListener( dispatcher, eventType, listener );
Я бы хотел использовать его обычным способом:
dispatcher.addOnceEventListener( eventType, listener );
Кто-нибудь понял, как это можно сделать?
Любая помощь будет принята с благодарностью.
(я знаю, что Сигналы Роберта Пеннера могут сделать это, но я не могу их использовать, поскольку это будет означать много переписывания кода, который я не могу позволить себе для своего текущего проекта)